![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 103 Pomógł: 0 Dołączył: 25.04.2003 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Po miesięcznej przerwie, znowu nie daje mi spokoju sprawa autoryzacji użytkownika w moim skrypcie.
Otóż, na podstawie artykułu rzSeattle'a opracowałem własną klasę pod PHP5 i sqlite do obsługi drzewek, następnie zaczełem pisać klasę do obsługi autoryzacji, lecz natknołem się na problem hm... "teoretyczny" ![]() Tak jak w artykule u mnie "adres" ma postać nie np 000111; lecz 6=0;0;0;1;1;1 6 w tym przypadku to głębokość a ; oddziela od siebie kolejne wartości dzięki temu uniknęłem ograniczenia 9 dzieci. Lecz teraz nie wiem w jaki sposób określać uprawnienia dla każdego wiersza w tabeli, którym jest użytkownić. Nadmieniam iż używam klasy drzewka do obsługi autoryzacji. Nie wiem jak je zapisywać na początku myślałem np. tak jak w sieci określa się chmod pliku, ale to wykluczyłem ze względu na małą ilość kombinacji, dalej przyszło mi na myśl "nazewnictwo" stosowane w Linuxie d-r--x-r-- (przepraszam tu za błędy ale chcę tylko przekazać sens ![]() Chcę mieć szeroką możliwość określania uprawnień np. ktoś może otworzyć stronę, może komentować, ale nie może edytować i kasować innych niż swoich np. postów. Chciałbym stworzyć system uniwersalny który mógłby współpracować i z np. DOWNLOAD'em i artykułami itp. Nie chcę dla każdego tworzyć oddzielnego nazewnictwa. Aha, operam się na idei MVC więc tego typu rozwiązania jaknajbardziej mile widziane ![]() Jeżeli taki temat istnieje to przepraszam za zamieszanie, ale kafejka nieco mnie ogranicza czasowo, więc nie mogę szukać -------------------- r.
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Cytat Nie wiem jak je zapisywać na początku myślałem np. tak jak w sieci określa się chmod pliku, ale to wykluczyłem ze względu na małą ilość kombinacji, dalej przyszło mi na myśl "nazewnictwo" stosowane w Linuxie d-r--x-r-- (przepraszam tu za błędy ale chcę tylko przekazać sens ). To rozwiązanie ma także ograniczenia. To jedno i to samo rozwiązanie ![]() ![]() Co do ograniczen to mozliwosci jest nieskonczenie wiele (kolejne potegi liczby 2). Tylko dla mnie to jest troche sztywne rozwiazanie ![]() Zainteresuj sie moze ACL-em np. phpGACL -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 103 Pomógł: 0 Dołączył: 25.04.2003 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
[quote=Vengeance,2004-11-03 17:52:03] [QUOTE]Zainteresuj sie moze ACL-em np. phpGACL [/quote]
phpGACL znam, ale wolę sam zbudować tego typu "system", gdyż jedno z założeń jakie sobie postawiłem to - nie korzystać z gotowych rozwiązań, wyjątek stanowi u mnie smarty ![]() -------------------- r.
|
|
|
![]()
Post
#4
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
stwórz własną implementacje tego rozwiązania i no problem
![]() -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 103 Pomógł: 0 Dołączył: 25.04.2003 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Cytat(bela_666 @ 2004-11-04 16:05:33) stwórz własną implementacje tego rozwiązania i no problem ![]() w tym problem, że zaciąłem się na przyznawaniu i określaniu uprawnień -------------------- r.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
to po to masz phpGACL i OpenSource aby sobie zajrzec i porownac.
-------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 742 Pomógł: 0 Dołączył: 14.12.2003 Skąd: Gdańsk, Trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
mój system uprawnień który wymysliłem (i który nie jest idealny) wygląda mniej więcej tak:
- mam tabele users w niej kazdy user jest przyporządkowany do konkretnej grupy - tabela groups ma kolumny typu add_news edit_news, add_comments itp, które określają akcje. Każda kolumna jest typu enum('0','1') więc grupa userów ma określone co może zrobić a czego nie. Ograniczenia/problemy do rozwiązania: - nie można przyporządkowywać uprawnień do konkretnego usera tylko do grupy (obejście - grupa z tylko jednym userem) - instalując nowe akcje trzeba dodawać kolumny w tabeli więcej grzechów nie pamiętam... ![]() |
|
|
![]()
Post
#8
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
ja ostatnio "wymyslilem" autoryzacje role-based w ktorej jest mozliwosc przypisania usera do grupy i przejecie uprawnien grupowych, indywidualne dodawanie i odejmowanie uprawnie
user moze byc przypisany do wielu grup, wtedy uprawnienia sie sumują ma ktos pomysl co tu zmienić ![]() -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Przyjaciele php.pl Postów: 742 Pomógł: 0 Dołączył: 14.12.2003 Skąd: Gdańsk, Trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
@bela_666: wez to dokładniej opisz, albo zarzuć jakimś linkiem...
a ja idę polukać system uprawnień w IPB ![]() |
|
|
![]()
Post
#10
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
@olek:
masz 3 tabele: z grupami, userami, dostepnymi rolami 1. W tabeli groups masz uprawnienia dla danej grupy 2. W tabeli users masz uzytkownikow 2.1. User moze byc przypisany do grupy, wtedy dziedziczy uprawnienia dla danej grupy 2.2. User moze miec zakazane role 2.3. User moze miec osobiste role -------------------- |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Cytat ja ostatnio "wymyslilem" pamietam ze w jakims watku ktory poruszylem odnosnie wlasnie permow tez podalem taki opis i jakas tam dyskusja na temat tego byla. mozna poszukac w archiwach. -------------------- |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 521 Pomógł: 0 Dołączył: 3.11.2003 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
Tak naprawdę to role-based auth wymyślono dawno temu na jakimś uniwerku. Jest z tego nawet sporo prac naukowych.
|
|
|
![]()
Post
#13
|
|
Administrator PHPedia.pl Grupa: Developerzy Postów: 1 102 Pomógł: 2 Dołączył: 14.09.2003 Ostrzeżenie: (0%) ![]() ![]() |
@hawk : wiem, napisałem to w cudzysłowiu
![]() -------------------- |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 6.11.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Cytat(radziel @ 2004-11-03 16:07:18) Chciałbym stworzyć system uniwersalny który mógłby współpracować i z np. DOWNLOAD'em i artykułami itp. Nie chcę dla każdego tworzyć oddzielnego nazewnictwa. radziel Cos wymysliles? Glowie sie nad tym samym. Wydaje mi sie, ze jedynym rozsadnym i uniwersalnym zarazem rozwiazaniem bedzie tworzenie osobnych grup uprawnien dla kazdego modulu i sprawdzanie ich w momencie wywolania danego modulu. |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 521 Pomógł: 0 Dołączył: 3.11.2003 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
@bela666: wiem, nie chciałem bynajmniej nic imputować, ale raczej zaznaczyć, że jak ktoś chce to powinno być sporo naukowej literatury. Chyba można się dostać do różnych artykułów/prac ze stron binarycloud.
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 103 Pomógł: 0 Dołączył: 25.04.2003 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Cytat(tahat @ 2004-11-29 14:59:06) Cos wymysliles? Narazie dalem sobie z tym spokoj. Poki co auth. wraca mi zawsze true przy wywolywaniu akcji ![]() -------------------- r.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.08.2025 - 22:25 |