Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

Limitare drepturi user intro aplicatie
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> PHP Avansat
Subiectul anterior :: Subiectul următor  
Autor Mesaj
iugin



Data înscrierii: 22/Mai/2003
Mesaje: 82
Locație: Oradea

Trimis: Dum Oct 17, 2004 9:16 pm    Titlul subiectului: Limitare drepturi user intro aplicatie  

Buna,

Is curios voi cum facetzi securitatea intr-o aplicatie.

Adica la o anumita pagina sa limitezi dreptul de vizualizare in fctie de ce user e. Ca sa mai complicam lucrurile sa presupunem ca intro pagina afisezi 4 obiecte(un profil, lista de facturi, lista de contracte, lista persoane contact). Cum limitati ca un anumit user sa poata vedea obectul 1si2 dar sa nu vada 3si4 sau luati ce combinatii vretzi voi.

Sa presupunem ca e cineva de la financiar si ala tra sa vada doar(profil, facturi si pesoane de contact). Da se mai angajeaza unu si trebuie sa vada doar (profil si facturi). Cum facem in cazul asta?!?!?

Eu foloseam pana acum grupuri si fiecare utilizator are un anumit nivel in grup(asta ca sa nu creez grupul SuperFinancial si Financial)

Sa nu mai vorbesc de restrictii pe campurile din obiecte.


Daca avetzi si ceva linkuri in domeniu ar fi cool, si banuiesc ca ar ajuta pe multzi.
Sus  
arond



Data înscrierii: 11/Mar/2004
Mesaje: 580
Locație: 127.0.0.1

Trimis: Dum Oct 17, 2004 9:47 pm    Titlul subiectului:  

Arunca un ochi aici: http://phpgacl.sourceforge.net/

Numa' bune.
Sus  
Birkoff



Data înscrierii: 18/Mar/2004
Mesaje: 2608
Locație: Bucuresti

Trimis: Mar Oct 19, 2004 3:50 pm    Titlul subiectului:  

Am facut ceva asemanator folosind sesiuni
Daca se loga userul X avea acces doar la anumite lucruri si se executau doar interogarile la bd care corespundeau nivelului lui X.
Daca se loga Y (care era admin) avea acces la tot si se executau toate interogarile la bd

Ideea e sa faci verificari si in functie de nivelul de acces al userului sa executi anumite interogari la bd.
Daca ai in bd
factura - pret - comision - valuta
si vrei sa interoghezi pentru userul x doar factura si pret dai comanda respectiva iarp entru usrul y interoghezi toate campurile...
Sper ca intelegi
Sus  
taipan



Data înscrierii: 24/Sep/2004
Mesaje: 44

Trimis: Vin Oct 22, 2004 7:06 am    Titlul subiectului:  

Depinde de dimensiunea aplicatiei.

Eu te sfatuiesc sa faci cu roluri, astfel vei avea nu numai posibilitatea de a schimba cand vrei tipul de membrii (fara multa bataie de cap) dar vei putea schimba foarte usor si drepturile acestora.
Sus  
iugin



Data înscrierii: 22/Mai/2003
Mesaje: 82
Locație: Oradea

Trimis: Lun Oct 25, 2004 4:19 pm    Titlul subiectului:  

Roluri?!?!?!

Un pic mai explicit daca se poate, sau link daca nu chef de tasta ;)
Sus  
taipan



Data înscrierii: 24/Sep/2004
Mesaje: 44

Trimis: Mar Dec 28, 2004 12:11 pm    Titlul subiectului:  

Eu acum asta am de facut :cry:

Ceea ce a spus Birkoff e relativ ok pentru un site care nu administreaza mai mult de 20-30 de pagini, problema apare atunci cand ai 1000 de articole si 10 tipuri de utilizatori.

Sistemul la care ma gandesc este cel asemamator cu cel folosit de Windows, undeva definesti categorii, articole in alta parte definesti drepturi si in alta parte roluri, roluri care contin drepturi cam pe aici ma invart eu acum :cry:
Sus  
arond



Data înscrierii: 11/Mar/2004
Mesaje: 580
Locație: 127.0.0.1

Trimis: Mar Dec 28, 2004 2:27 pm    Titlul subiectului:  

Poate va e de folos:
http://phpgacl.sourceforge.net/

Numa' bune.
Sus  
aolex



Data înscrierii: 17/Dec/2004
Mesaje: 662

Trimis: Mar Dec 28, 2004 6:21 pm    Titlul subiectului:  

arond , fara suparare dar ai mai postat linkul asta de 2 ori . odata
in acest post si odata in alt post :)
Sus  
arond



Data înscrierii: 11/Mar/2004
Mesaje: 580
Locație: 127.0.0.1

Trimis: Mar Dec 28, 2004 7:24 pm    Titlul subiectului:  

Corect. Am vrut doar sa fiu de folos (mai ales avand in vedere ca ambele post-uri s-au starnit ca raspuns la posturile lui taipan... eram cu deshtu' pe tragaci :) ).

Numa' bune.
Sus  
aolex



Data înscrierii: 17/Dec/2004
Mesaje: 662

Trimis: Mar Dec 28, 2004 9:24 pm    Titlul subiectului:  

in fine ... hai sa fiu si eu on-topic . pai eu folosesc urmatoarea metoda :

am un tabel users in care adaug eu userii . si am un camp numit rank cu
valori posibile 1 si 0 . 1 e admin , 0 e user . cand el se logheaza , el verifica
rankul lui si in functie de aia ii arata meniul . if user rank = 0 , echo meniu
de user , else echo meniu de admin :)

teoretic asa vine ;)
Sus  
arond



Data înscrierii: 11/Mar/2004
Mesaje: 580
Locație: 127.0.0.1

Trimis: Mar Dec 28, 2004 11:45 pm    Titlul subiectului:  

Tot ontopic:

Ce vrea taipan e ceva mai sofisticat: exista useri si exista roluri (ca la un BB: admin, moderator, etc)... Drepturile (meniurile... sac!) sunt asociate cu rolurile iar fiecare user poate avea unul sau mai multe roluri.

Cu alte cuvinte, userul X poate fi moderator si admin, userul Y doar admin, userul Z doar moderator...

Ca implementare, e nevoie de un tabel useri (nume, parola, date personale, etc), un tabel roluri (tip, drepturi) si un tabel care asociaza rolurile userilor (user_id, role_id)... etc/etc

Numa' bune.
Sus  
kokosanu



Data înscrierii: 16/Mai/2004
Mesaje: 59
Locație: Cluj-Napoca

Trimis: Mie Dec 29, 2004 6:22 pm    Titlul subiectului:  

ceea ce folosesc eu la ora actuala e o arhitectura bazata pe un principiu simplu: fiecare aplicatie e alcatuita din module, iar accesul la module este definit de catre unul sau mai multi utilizatori in functie de roluri. utilizatorii sunt grupati, avand unul sau mai multi "coordonatori", astfel incat accesul la module poate fi definit de mai multe persoane. accesul care este acordat pentru fiecare modul este de scriere si/sau vizualizare.

modulele sunt grupate dupa functionalitate si sunt afisate sau nu in functie de utilizatorul autentificat. in functie de ce drepturi are pe modulul respectiv poate sau nu sa faca operatiunile specifice lui.

ca implementare, ai nevoie in plus de o structura definita dinamic a aplicatiei (impartirea pe module) si sa stii fiecare pagina carui modul ii apartine.

spor
Sus  
taipan



Data înscrierii: 24/Sep/2004
Mesaje: 44

Trimis: Lun Ian 10, 2005 3:47 pm    Titlul subiectului:  

Kokosanu poate pentru situatia ta ceea ce ai facut tu e o rezolvare, dar la modul general este o solutie gresita deoarece nu poti sa administrezi fiecare pagina in parte :).
Sus  
stealth



Data înscrierii: 21/Iun/2004
Mesaje: 304
Locație: Timisoara

Trimis: Lun Ian 10, 2005 7:08 pm    Titlul subiectului:  

if & case
check into it ...
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> PHP Avansat
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community