![]() |
![]() |
![]()
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%) ![]() ![]() |
Cytat Cytat ta ta tabela z rolami jest to chrzanu. wlasnie o to chodzi ze wszsytko ma byc elastyczne. wchodzi admin, dodaje nowa role i to ma dzialac. wywala role i ma dzialac. itd. Uzyskanie czegos takiego jest wg mnie niemozliwe. Jesli jest chcialbym zobaczyc dzialajacy przyklad a nie slowa - implementujmy to co jest mozliwe do napisania a nie rzeczy z kosmosu. A dlaczego miało by to być niemożliwe? Od tego mamy bazę, przejrzystą jej budowę i składnię, którą stosujemy do opisu ról, aby można było łatwo operować na danych. Role mamy od tego, żeby nie mieszać w kodzie aby opisać wymagania do uzyskania dostępu. Grupy po to, aby nie nadpisywać ról każdego użytkownika po kolei. Szkoda, że nie mogę ci przedstawić żadnego kodu, bo czas mi na to nie pozwala, ale pracuję nad tym. Można na święta coś będzie gotowe. Sopel: Ten przypadek jest o tyle nieciekawy, że trzeba porównać w jakiś sposób id użytkownika i identyfikator autora newsa. Ja swój pomysł opisywałem na poprzedniej stronie tematu i wydaje mi się, że jest to najprostsza metoda wybrnięcia z problemu. Obiekty pomocnicze nie stanowią ani problemu wydajności, ani wzrostu złożoności aplikacji. W twoim rozwiązaniu musimy dopuścić użytkownika do akcji, nawet jeśli nie ma prawa do jej wykonania - przecież musimy jakoś sprawdzić czy jest autorem. U mnie tym zajmuje się ten obiekt pomocniczy (dla wygody można go nazwać ActionPrefetcher czy coś w tym stylu). Wczytujemy newsa, sprawdzamy wszystko co trzeba, a samą wiadomość zapisujesz gdzieś. Wychodzę z założenia, że największym złem jest dopuszczanie akcji do zabawy w uprawnienia. Właśnie to rozwiązanie wraz z rolami parametryzowanymi pozwala mi na osiągnięcie tego celu. Dokładniejszy opis jak mówiłem - trochę wcześniej w temacie. Bela666: Jesteś najbliżej mojego pomysłu, chociaż sam przyznałeś, że to trochę na około. Różnica polega na tym, że ty masz filtr, który sprawdza specjalne uprawnienia. Ja pozostawiam sprawdzanie uprawnień głównemu filtrowi autoryzującemu, ale daję możliwość nadania użytkownikowi specjalnych ról/parametrów przed nadaniem prawa dostępu. Poza tym mój obiekt będzie trochę lżejszy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował Ludvik 19.12.2005, 17:25:06 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 22:38 |