Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Tabela dla systemu uprawnień
Fred1485
post
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 22
Dołączył: 10.02.2015

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


Witajcie,

O ile w samym PHP prosty system grup i uprawnień to nie problem to kombinuję jaka powinna być najlepsze struktura tabeli.
Hmm myślałem o dwóch sposobach, w pierwszym stworzyłbym tabelę groups gdzie trzymałbym dane o wszystkich grupach, w tabeli users_groups łączyłbym id użytkowników z id grupy. To działałoby fajnie ale mając na uwadzę grupy podstawowe czyli administrator i moderator nie lepiej w tabeli użytkownicy dodać kolumnę level i tam np 3 dla admina 2 dla moderatora 1 dla użytkownika itd?
Niby pierwszy i drugi mają prawo istnieć, jak wy taki problem byście rozwiązali?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ctom
post
Post #2





Grupa: Zarejestrowani
Postów: 321
Pomógł: 55
Dołączył: 19.04.2009

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


nie wiem czy do końca się rozumiemy, bo ja z założenia najpierw wiem jakie są lub powinny być uprawnienia a kwestia nazw roli jest drugorzędna .... bo zawsze mogę z danej roli usunąć to uprawnienie

np.
uprawnienia:
moze-listowac-wpisy
moze-edytowac-wpisy
moze-usuwac-wpisy


i teraz gdy masz wykonać jakąś akcje to w logice sprawdzasz coś w ten deseń :
Kod
if( ! $user->can( 'moze-usuwac-wpisy' ) ) throw new Exception('brak uprawnień');


role zawsze możesz zrobić nowe lub edytować jej uprawnienia potem przypisać ją danemu Userowi - i jest bez znaczenia czy jest to Admin czy Admin12 bo możesz zarządzać dostępem jak chcesz. A gdy zamkniesz się , że Rola jest wyznacznikiem dostępu to co zrobisz gdy będziesz chciał odebrać jednemu userowi część praw Administratora ? - bo przecież nie będziesz mógł dodać roli "młodszy-admin" bez zmian w kodzie
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: 15.10.2025 - 03:05