Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Autoryzacja użytkowników - OOP
tua1
post
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 23.10.2009

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


Witam

Mam za zadanie skodzić mini CMS w php z użyciem obiektów, utknąłem na zarządzaniu użytkownikami.
Chciałbym stworzyć jakąś hierarchię klas, ale kompletnie nie mam pomyśłu jak się za to zabrać.
Szukałem coś po necie, ale zwykle kończyło się na jednej wielkiej klasie Users odpowiedzialnej za logowanie, dodawania nowych użytkowników, a taki sposób programowania jest nie w moim stylu, żeby wszystko pakować do jednej klasy.

Chciałbym, żeby po zainstalowaniu cms, były aktywne 2 typy użytkowników: Admin i Guest, przy czym admin może aktywować kolejne typy, np:

Regular - czyli użytkownika z możliwością rejestracji w serwisie, czy Editor, czyli kogoś do pisania artykułów na stronie. Każdy typ, użytkownika ma określone uprawnienia, chciałbym je zakodować na sztywno w klasach i używać do porównywania operacji bitowych, ale to chyba utrudni dodawania nowych uprawnień przez Admina.

Myślałem o dziedziczeniu, stworzyć abstrakcyjną klasę User z minimalnymi uprawnieniami i funkcjami dostępnymi dla wszystkich użytkowników, a później dziedziczyć po niej: AdminUser, RegularUser, GuestUser itd, a w klasie odpowiedzialnej za logowanie w zależności od pobranego z bazy typu użytkownika tworzyć obiekt określonej klasy, nie wiem czy to dobre rozwiązanie i czy to nie za dużo komplikacji, proszę o jakieś porady i sorry że tak dużo, ale utknąłem z projektem w martwym punkcie.

Pozdrawiam

Ten post edytował tua1 11.12.2009, 00:24:26
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




A opisy dokładniej jak chcesz zrealizować zapisywanie uprawnień z możliwością porównania bitowego?
Go to the top of the page
+Quote Post

Posty w temacie


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: 9.10.2025 - 16:25