Sistem de confidentialitate in php
Moderatori: Moderatori, Start Moderator
-
CristianAlexandru
- PHPRomania Supporter
- Mesaje: 19
- Membru din: Dum Aug 11, 2013 4:32 pm
- Birkoff
- Senior Member
- Mesaje: 6380
- Membru din: Joi Mar 18, 2004 2:34 pm
- Localitate: Bucuresti
- Contact:
Re: Sistem de confidentialitate in php
de ce nu te inspiri din sistemul de grupuri de la forum?
grupul x are acces la postarile publice
grupul y are acces la postarile private + publice
grupul z are acces la postarile prietenilor... etc
sistemul de grupuri are avantaj ca oricand poti adauga/scoate drepturi
pe cand sistemul cu nivele de acces (implementat de tine) ramane fix
desigur trebuie sa regandesti tot sistemul daca o iei pe drumul asta.
mai jos ai o schema logica, poate parea complicata la prima vedere, dar e exact ce trebuie.
grupul x are acces la postarile publice
grupul y are acces la postarile private + publice
grupul z are acces la postarile prietenilor... etc
sistemul de grupuri are avantaj ca oricand poti adauga/scoate drepturi
pe cand sistemul cu nivele de acces (implementat de tine) ramane fix
desigur trebuie sa regandesti tot sistemul daca o iei pe drumul asta.
mai jos ai o schema logica, poate parea complicata la prima vedere, dar e exact ce trebuie.
1) )
2)
3) (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.
2)
3) (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.
-
CristianAlexandru
- PHPRomania Supporter
- Mesaje: 19
- Membru din: Dum Aug 11, 2013 4:32 pm
- Birkoff
- Senior Member
- Mesaje: 6380
- Membru din: Joi Mar 18, 2004 2:34 pm
- Localitate: Bucuresti
- Contact:
Re: Sistem de confidentialitate in php
account - datele de login ale userului
group - lista de grupuri existente (admin, moderator, etc)
modules - lista de module/actiuni existente (vizualizare mesaje publice, vizualizare mesaje private, vizualizare poze etc)
group_account - contine id, id_group (din tabela group), id_account (din tabela account) - este tabela de legatura intre useri si grupurile alocate (un user poate avea 0 sau mai multe grupuri alocate)
group_modules - contine id, id_modul (din tabela modules), id_group (din tabela group) - este tabela de legatura intre actiunile existente si grupurile alocate la fiecare actiune (o actiune poate avea 1 sau mai multe grupuri alocate)
Mai departe, cand userul da clic sa vizualizeze/editeze/adauge/stearga ceva, verifici cine e (id_user din account care normal il ai in sesiune) si verifici ce grupuri are alocate (la fel, grupurile lui le poti pune in sesiune) apoi citesti ce grupuri are alocate actiunea respectiva (actiunea de obicei o pasezi prin get in url si la preluare o verifici in bd) si doar compari, daca si userul si actiunea au cel putin 1 grup comun, atunci userul are acces si poate face actiunea respectiva, altfel nu. (chestia asta se poate face cu maxim 2 interogari - daca te stresesi poti sa o faci cu o singura interogare la care ii pasezi id_user si numele actiunii si care sa returneze true daca are acces, false daca nu)
PS. ma refeream la logica implementata in forumul phpbb (si cred ca similar e si in celelalte forumuri existente pe net)
group - lista de grupuri existente (admin, moderator, etc)
modules - lista de module/actiuni existente (vizualizare mesaje publice, vizualizare mesaje private, vizualizare poze etc)
group_account - contine id, id_group (din tabela group), id_account (din tabela account) - este tabela de legatura intre useri si grupurile alocate (un user poate avea 0 sau mai multe grupuri alocate)
group_modules - contine id, id_modul (din tabela modules), id_group (din tabela group) - este tabela de legatura intre actiunile existente si grupurile alocate la fiecare actiune (o actiune poate avea 1 sau mai multe grupuri alocate)
Mai departe, cand userul da clic sa vizualizeze/editeze/adauge/stearga ceva, verifici cine e (id_user din account care normal il ai in sesiune) si verifici ce grupuri are alocate (la fel, grupurile lui le poti pune in sesiune) apoi citesti ce grupuri are alocate actiunea respectiva (actiunea de obicei o pasezi prin get in url si la preluare o verifici in bd) si doar compari, daca si userul si actiunea au cel putin 1 grup comun, atunci userul are acces si poate face actiunea respectiva, altfel nu. (chestia asta se poate face cu maxim 2 interogari - daca te stresesi poti sa o faci cu o singura interogare la care ii pasezi id_user si numele actiunii si care sa returneze true daca are acces, false daca nu)
PS. ma refeream la logica implementata in forumul phpbb (si cred ca similar e si in celelalte forumuri existente pe net)
1) )
2)
3) (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.
2)
3) (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 22 vizitatori