![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 0 Dołączył: 4.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Chial bym rozpoczac dyskusje na temat w jaki sposob projektuje sie system z kontrola dostepu. Osobiscie jestem na etapie mojego pierwszego projektu ,ktory wymaga wiecej niz dwoch stanow (admin, user), wymaga on grup o roznym zakresie dostepu do systemu Zabardzo nie wiem jak sie do tego zabrac. Sam moj system/jadro laduje odpowiednie wtyczki,ktore sa odpowiedzialane za dostep do danych. Do tej pory kontrolowalem dostep na polacie wyboru akcji, bo kazdy plugin choc do innei zawartosci obsluguje te same akcje (add,remove,edit,show) wiec po wyborze wtyczki lecz przed wyborem akcji sprawdzalem czy uzytkownik ma prawo do tego, lecz teraz potrzebje wiekszej wolnosci tzn. niektorzy moga miec dostep do czegos do czego inni nie i na odwrot. I zastanawiam sie czy nie przeniesc kontroli dostepu do samych akcji dostepu do danych, czy moze lepiej wymagac od wtyczki by opisala kto ma do jakich akcji dostep a sama kontrole zostawic w jadrze. Wszelkie uwagi i pomysly sa mile widziane jak i wszelkiego rodzaju materialy, ktore wcale nie musza byc oparte na przykladach php, lecz duzym plusem by bylo gdyby opisywaly schemat kontroli dostepu w aplikacjach web. Jezyk Niemiecki,Angielski lub Polski. Z gory dziekuje i pozdrawiam evo |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Rzecz w tym, aby nie tworzyć niepotrzebnych grup, bo potem nie opanujesz tego. Zobaczymy jak sprawdzi się mój pomysł. Jako że w szkole dużo się dzieje, szukam czasu, żeby coś z kompem zrobić, to na pisanie prawie nie zostaje nic... Ale postaram się.
Ace: Co do twojego problemu. To jest takie trudne ani wolne. Zgodnie z moim pomysłem wyglądało by to tak: Najpierw standardowo musimy mieć dostęp do ról i parametrów. Potem obiekt pomocniczy zajął by się szukaniem uprawnień związanych z edycją newsów, czyli po prostu roli editNews. Do wywołania akcji dodaje wszystkie parametry tej roli. Powiedzmy, że mamy trzy parametry: OWN, 3, 5. Pierwszy to stała oznaczająca możliwość edycji swoich newsów, a dwie kolejne to po prostu identyfikatory pozostałych zestawów, w których znajdują się newsy objęte możliwością edycji. Wywołujesz akcję i wykonujesz szybkie sprawdzenie dla każdego newsa po kolei: 1. Czy id użytkownika jest takie samo jak autora? Tak - dodajesz możliwość edycji. Nie - następny punkt... 2. Czy id zestawu newsa znajduje się pośród parametrów roli editNews (przekazaliśmy je jako parametr do akcji)? Tak - dodajesz możliwość edycji. Nie - nie ma możliwości zmian. Zauważ, że nie wykonujesz ani jednego dodatkowego zapytania, a sprawdzanie jest bardzo szybkie. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 21:59 |