![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 103 Pomógł: 1 Dołączył: 19.08.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Zastanawiam się jak najefektywniej rozwiązać sprawę uprawnień użytkowników. Chciałbym gdzieś zdefiniować wszystkie możliwe akcje do przeprowadzenia w "systemie" a później zapisywać je w profilu użytkownika i sprawdzać przed wykonaniem określonej akcji. Jedynym rozwiązaniem, które przychodzi mi teraz do głowy to ustawienie w tabeli kolumn odpowiadających za każde konkretne uprawnienie i wstawianie tam,np. wartości 1 i 0 i w każdym miejscu w serwisie sprawdzanie warunku odwołując się do konkretnej kolumny... tyle że wydaje mi się to strasznie nieefektywne i nieeleganckie i zastanawia mnie jak taką sprawę z reguły się rozwiązuje? Na jakiej zasadzie mam działać? Dzięki za wszelkie odpowiedzi. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Z zasady uprawnień nie przypisuje się użytkownikom, tylko rolom.
Tworzysz role, później do nich dodajesz uprawnienia (z zachowaniem zasady minimum), i dodajesz użytkownika do wybranych ról. Dzięki temu przy zmienie jakiegoś uprawnienia nie musisz go zmieniać u wszystkich użytkowników, tylko w jednej roli. Poza tym role można łączyć u danego użytkownika i wiele innych. Jeśli chodzi o tabele: permissions -> ustawienie zdefiniowanych uprawnień | id | name | description | action | role_permission -> połączenie uprawnień w role | id | name | permission_id | usr_role -> przypisanie dla użytkownika roli | usr_id | role_id | Coś w tym tonie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
--Marr-- |
![]()
Post
#3
|
Goście ![]() |
Kurcze to zburzyło mój światopogląd;] a tak powaznie to dzięki za pomoc, troche mi to zarysowałeś - będę się musiał teraz z tym przegryźć nieco, jeśeli mógłbys mi pokazać na jakimś przykładzie dla 5 latka to byłbym wdzieczny, a jak nie to bede sam kombinowac zeby to zrozumiec do konca.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Tak z grubsza:
(IMG:http://img141.imageshack.us/img141/1209/privilegesqh9.th.jpg) Potem dla danego użytkownika pobierasz ID ról, do których jest przypisany, i do tych ID ról pobierasz uprawnienia. Albo w drugą stronę, jakaś akcja wymaga uprawnień, sprawdzasz role dla danego ID urpawnienia, i sprawdzasz czy dany usr należy do danej roli. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 20:12 |