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: Zarejestrowani Postów: 259 Pomógł: 0 Dołączył: 17.05.2003 Skąd: Nysa Ostrzeżenie: (10%)
|
Cytat Jeżeli mówisz, że jedna grupa nie posiada ról potrzebnych do wykonania akcji, a druga je posiada, to jest prawidłowe zachowanie. Natomiast kiedy jedna grupa zabrania wykonania akcji, a druga wycofuje to, to według mnie nie jest najlepsze wyjście... W zasadzie zabranianie dostępu powinno mieć wyższy priorytet niż role zezwalające. Raczej blokowanie dostępu powinno być używane tylko tymczasowo i do blokowania większej ilości grup/ról. Chcesz wyciąć jedną rolę to po prostu usuwasz ją, a jeżeli chcesz nie dopuścić użytkownika do całej strony, wtedy usuwanie wszystkich uprawnień może stać się uporczywe, jeżeli chcesz je przywrócić. tak zgadza sie, blokowanie powinno miec wyzszy priorytet nad zezwolenia - tak jest wszedzie i nie ma co plynac pod prad, tak ma chociazby ip-tables i cala reszta zabawek na linkach. wiec ok - zezwolenia sa podrzedne wzgledem accessow. ale jak sie zastanowic nie zawzsze konieczne jest wprowadzanie zabraniania czegos. wystarczy ze user nie ma uprawnien i po sprawie. chociaz pewnie zdarza sie systemy, w ktorych zabranianie wykonywania czynnosci moze sie przydac - chociaz nie mam pomyslu gdzie. bo gdybysmy chcieli z jakiegos powodu "ukarac" usera to mu usuwamy uprawnienia. hmmm... w sumie mozna tak jak na ip-tables, jesli piszemy jakis system ktory wymaga powaznej kontroli tego co moga i co robia userzy - nie wiem gdzies w bankowosci or something - nie mam pomyslu. ale mniejsza o to. chodzi o to, jak sie konfiguruje frewalla zeby byl bezpieczny. pkt 1. blokujesz wszystko i wszystkim, a pozniej zezwalasz na grupom na rozne akcje jak juz userzy zaczna plakac ze czegos nie moga zrobic (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) jest troche roboty, ale to gwarancja dobrze skonfigurowanego firewalla - podobna strategie pewnie mozna gdzies wykozsytac w php - tylko gdzie ? (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) i have no idea (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Cytat Przypisywanie ról do grup... hmmm... myślałem nad czymś takim, ale się wycofałem i obecnie sama przynależność do grupy jest dla mnie jakąś rolą. Grupy wprowadziłem, aby iść na skróty: Po co mam wpisywać adminowi role addNews, editNews, removeNews, addArticle etc., skoro mogę go przyłączyć do grupy admins i nie pisać już tych ról? Rozumiem, że w twoim przypadku grupa admins może mieć jedną rolę np. doAll, ale to się moim zdaniem mija z celem - nazwa grupy jest wystarczająca do identyfikacji uprawnień. Po to zbieramy uprawnienia w grupy, aby potem nie pracować na xxx rolach. nie nadawalbym grupie adminow takiej roli. raczej preferowalbym role powiedzmy hmmm... podstawowe, a nie role totalnej wladzy i jak cos to nadaje adminom wszystkie role podstawowe. a wprowadzenie grup jest konieczne jesli powaznie myslimy o zarzadzaniu uprawnieniami userow - grupy masz teraz na chyba all systemach operacyyjnych - i to nie jest przypadek. wyobraz sobie np 5000 userow i ze kazdego bys mial pilnowac czy ma takie uprawnienia jakie powinnien miec - no masakra. albo jak nagle sie okaze ze - tutaj zalozmy ze to jakis system w duze firmie - ze pracownicy wydzialu finansow potrzebuja uprawnien do czegos tam - i jest ich np. 50 - po cholere ich szukac i kazdemu z osoba - jest grupa finanse jeden klik i po sprawie, ale to wszyscy wiemy. a co do traktowania samej grupy jako juz jakiejs roli hmm... mozna, ale czy nie lepiej czarne zostawic czarnym a biale bialym? lepsza wieksza czytelnosc. jak zrobisz z grupy juz jakies prawo, to jak pozniej ktos sie dorwie do kodu, moze sie z tym dziwnie poczuc nim sie polapie pracownik nalezacy do grupy "dzial finanse" moze wykonac operacje X bo sama przynaleznosc do tego dzialu juz daje mu odp uprawnienie. sa grupy i sa role i ja raczej wolalbym zeby ich nie mieszac. Cytat Halfik: Jak przechowujesz dane o uprawnieniach? chodzi Ci o to jak to przechowuje na bazie? no kazdy user ma powiazanie z tabela grup - jest to powiazanie typu jeden->wielu - czyli 1 user moze nalezec do N grup. dalej masz table zdefiniowanych rol. grupy sa powiazane z rola dokladnie jeden->wielu. i to chyba tyle. |
|
|
|
evo kontrola dostepu 3.12.2005, 17:50:54
Ociu Nauczyłem się używać i będę polecał: F-L-A-G-I.
P... 3.12.2005, 20:55:09
Ludvik Osobiście stosuję autoryzację opartą na grupach i ... 3.12.2005, 22:52:52
Ociu coś podobnego miałem na myśli.
[PHP] pobierz, pla... 4.12.2005, 09:17:15
Ludvik Co do twojego kodu:
Ja bym nie dopuścił akcji do ... 4.12.2005, 11:58:21
SongoQ Mam troszeczke inne podejscie, wiekszosc uprawnien... 4.12.2005, 12:53:40
Ociu Cytat(Ludvik @ 2005-12-04 12:58:21)Ja bym nie... 4.12.2005, 13:26:43
halfik ja takie rzeczy tez robie w oparciu o grupy i role... 5.12.2005, 16:39:26
Ludvik Ja bym wyróżnił zabranianie od braku uprawnień... ... 5.12.2005, 20:32:15
Ludvik Cytatchociaz pewnie zdarza sie systemy, w ktorych ... 8.12.2005, 00:46:41
NuLL CytatCo do grup to nie zrozumieliśmy się chyba. Gr... 8.12.2005, 01:00:18
halfik CytatSytuacja jest taka: banowanie i odbanowywanie... 8.12.2005, 03:53:05
Ludvik CytatA co jesli uzytkownik ma miec mozliwosc tylko... 8.12.2005, 20:00:28
halfik hmmm a w jakis sposob chcesz parametryzowac te gru... 8.12.2005, 20:10:00
Ludvik Wygląda to tak:
Mamy akcję, która manipuluje dany... 8.12.2005, 21:56:22
halfik no dobra, a skad kontroler ma wiedziec jakie sa mo... 9.12.2005, 11:39:23
Ludvik Nic nie jest na stałe zakodowane. Wpisy do bazy wy... 9.12.2005, 21:33:57
halfik CytatJak będzie czas to wezmę się za to, w tej chw... 10.12.2005, 01:15:19
Ludvik Nie chodzi o to, że grupy są specjalne, ale trzeba... 11.12.2005, 11:38:31
Ace małe obiekciki - najprosciej by bylo potraktowac j... 11.12.2005, 16:25:37
Ludvik Rzecz w tym, aby nie tworzyć niepotrzebnych grup, ... 11.12.2005, 17:44:10
Ociu Myślę, że można zrobić tak:
Groups
Kod| id | name... 11.12.2005, 17:48:45
Ludvik A jak ktoś zechce dodać możliwośc przenoszenia? Mo... 11.12.2005, 18:01:03
halfik ta ta tabela z rolami jest to chrzanu.
wlasnie o ... 16.12.2005, 19:19:20
ebe U mnie jest tak 3 akcje podstawowe, add, edit, del... 16.12.2005, 19:40:33
Ludvik Hmmm... trochę niejasny ten opis dla mnie, przynaj... 17.12.2005, 21:05:03
splatch uprawnienia ograniczone do read, write, delete to ... 19.12.2005, 09:37:11
sopel Cytat(splatch @ 2005-12-19 09:37:11)Moim zdan... 19.12.2005, 10:27:49
NuLL Cytatta ta tabela z rolami jest to chrzanu.
wlasn... 19.12.2005, 10:36:27
bela_666 Ja tam wiem jak to rozwiązać
Mamy sobie globalny ... 19.12.2005, 13:55:33
Ludvik CytatCytat
ta ta tabela z rolami jest to chrzanu.
... 19.12.2005, 17:20:21
sopel hmmm, przyznam ze do konca nie przemawia do mnie, ... 19.12.2005, 19:21:14
Ludvik Nie chodzi o samo wywoływanie akcji, ale dostęp do... 19.12.2005, 19:41:45
bela_666 Cytat(Ludvik @ 2005-12-19 18:20:21)Bela666: J... 19.12.2005, 21:55:15
Ludvik Z tą różnicą, że znowu musisz się bawić w porównan... 19.12.2005, 22:04:01
eai Ja rozwiązałem całość w ten sposób.
tabela groups... 20.10.2006, 13:27:00 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 19:37 |