Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 100 Pomógł: 7 Dołączył: 5.11.2005 Ostrzeżenie: (0%)
|
Witam
Stawiam pierwsze kroki z zaawansowanymi systemami autoryzacji użytkownika. Natknąłem się na podstawowy problem, którego jakoś nie mogę rozwiązać: Mam tabelę 'dane': id owner_id jakies_dane i chcę by użytkownik z grupy 'user' mógł przeprowadzać operacje jedynie na swoich rekordach (wg. owner_id). Czy da się to zrobić używając Zend_Acl? Jeśli tak, to w jaki sposób (czy dołoby radę skonstruować zasób (Zend_Acl_Resource) reprezentujący wszystkie rekordy wybranego użytkownika)? Ponieważ mój projekt bazuje na Zend Framework najchętniej wykorzystałbym autoryzację w nim zaimplementowaną, jestem jednak otwarty na inne propozycje. Ten post edytował konys 21.01.2007, 03:40:27 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%)
|
Do ACL można wstawić ogólną regułę kontroli autorstwa zasobu. Przykładowo, jeśli stwierdzisz, że użytkownik ma prawa do "akcja_allow_all" (nazwij to sobie, jak chcesz), to może on modyfikować wszystkie rekordy, w przeciwnym razie w PHP sam już odpalasz własny kod, który sprawdza zgodność autora. W ACL'u nie trzeba wszystkiego ładować do tej struktury uprawnień, bo to się mija z celem. W swoim kodzie umieszczam tam jedynie te dane, o których wiem, że na danej stronie się mogą przydać, czyli naraz jest ładowana tylko jedna rola oraz część uprawnień.
|
|
|
|
konys [Zend_Framework] autoryzacja dla wybranych rekordów tabeli 21.01.2007, 03:32:06
andrzejb o fajny temat tak jest taka mozliwosc ACL, ACO czy... 29.01.2007, 02:38:12
konys Też mi nie pasowało wpisywanie wszystkich rekordów... 29.01.2007, 23:56:48
andrzejb kurcze gdzie to jest opisane bo w dokumentacji jak... 22.04.2007, 22:01:10 ![]() ![]() |
|
Aktualny czas: 29.12.2025 - 00:32 |