Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Autoryzacja
wlamywacz
post
Post #1





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

Ostrzeżenie: (20%)
X----


Witam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Jestem w trakcie pisania swojego coś w stylu frameworka. W większości aplikacji www często zachodzi potrzeba autoryzacja użytkowników na podstawie różnych parametrów. Zastanawiam się jak powinienem wyglądać uniwersalny moduł autoryzacja w takim systemie ? Tworzyć zawsze jedną stałą tabele np. users która ma wymagane pola: login, password, auth i relation. Jak wy to rozwiązujecie ?
Go to the top of the page
+Quote Post
wrzasq
post
Post #2





Grupa: Zarejestrowani
Postów: 206
Pomógł: 18
Dołączył: 6.03.2006
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


Model logowania mam zrobiony w prostu sposób:

Kod
bool login($login, $password);

Loguje użytkownika o podanym loginie i zwraca efekt operacji (wtedy można te dane również odpowiednio zapisać w sesji/ciasteczkach).

Kod
void logout();

Wiadomo.

Kod
bool isLogged();

Sprawdza, czy obiekt reprezentuje zalogowanego użytkownika.

Kod
bool hasAccess(AccessLevel $access);

Sprawdza uprawnienia.

Kod
int getLoggedID();

ID zalogowanego użytkownika (rzuca wyjątkiem, gdy użytkownik nie jest zalogowany).

A to, jak on jest reprezentowany w bazie danych, czy przez jedną, dwie, czy sto tabel, można łatwo zmienić w implementacji. Jeśli chodzi o mnie zazwyczaj stosuję users -> groups -> masks (AccessLevel to klasa trzymająca reguły dostępu, zazwyczaj po prostu lista wymaganych masek). Używałem tego schematu w przeróżnych przypadkach i sprawdza się.

Zazwyczaj implementuje go w klasie użytkownika tak, że jest od razu reprezentowany przez użytkownika w bazie danych, ale w razie potrzeby nie ma przeszkód wyodrębnienia tego mechanizmu do osobnej klasy, jeśli nasz model przechowywania danych nie spina tych wszystkich danych i nie pokrywa się.
Go to the top of the page
+Quote Post
qba_rox
post
Post #3





Grupa: Zarejestrowani
Postów: 29
Pomógł: 1
Dołączył: 12.01.2009
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


spojrz jak jest zrobione to w zend framework: komponent zend_auth. tam wszystko ladnie jest rozplanowane (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 04:45