Sistem de confidentialitate in php

Secţiune dedicată începatorilor.

Moderatori: Moderatori, Start Moderator


Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Re: Sistem de confidentialitate in php

Mesajde Birkoff » Mar Sep 09, 2014 1:05 am

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.
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.

CristianAlexandru
PHPRomania Supporter
Mesaje: 19
Membru din: Dum Aug 11, 2013 4:32 pm

Re: Sistem de confidentialitate in php

Mesajde CristianAlexandru » Mar Sep 09, 2014 12:15 pm


Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Re: Sistem de confidentialitate in php

Mesajde Birkoff » Mar Sep 09, 2014 2:07 pm

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)
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.


Înapoi la “PHP Incepători”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 22 vizitatori