Vengeance
15.10.2004, 18:55:45
No właśnie ;] Jak Wy to rozwiązujecie ?
Jakieś doświadczenia itp. Chętnie posłucham rad doświadczonych.
Zależy mi na czymś naprawdę elastycznym i szybkim.
Ja od siebie na razie nic ciekawego nie moge powiedziec (co wymyslilem) bo malo wymyslilem ;]
Z góry thx za wszelką pomoc.
ps. nie wiedzialem czy sie nadaje do php pro wiec nie dalem ;] moze jak sie dyskusja rozciagnie to sie tam nada.
invx
15.10.2004, 19:08:42
grupy zapisuje w bazie, z mozliwoscia dodawania/edycji z www , kazda grupa ma jakies tam id i jak potrzebuje np jakiemus ogloszeniu nadac jakies tam prawa to w bazie mam tabelke i w niej zapisany nr grupy, która moze miec dostep, jesli jest taka potrzeba zapisuje dwie lub wiecej grup
pracuje nad tym zeby mozna bylo szybko zmieniac prawa dla poszczegulnyc grup z www.
NuLL
15.10.2004, 22:43:40
Ja mam wszystkie jkie sa mozliwe uprawnienia zapisane w bazie. Sa zestawy uprawnien i grupy. Grupy posiadaja grupy nadrzedne i tyle.
Vengeance
15.10.2004, 22:52:59
ja myslalem o czyms takim, ze uprawnienia _jakoś tam działają_
a teraz:
+ user moze nalezec do roznych grup
+ kazda grupa ma osobno ustawiane permy
+ kazdy user moze tez miec swoje indywidualne permy
Przy wyliczaniu co user moze jest obliczana jakby suma srednia wszystkich uprawnien indywidualnych i tych z grup.
dobre by to bylo? niby nawet uniwersalne. nie trza tworzyc np. nowej grupy dla jednego usera gdy chcemy mu dac specyficzne uprawnienia.
albo dajemy go do danej grupy i odejmujemy jedno uprawneinie jakie posiada reszta grupy. tylko trza by bylo ustalic range co jest wazniejsze. perm indywidualny czy grupowy.
Teraz tylko jak zrobic uniwersalne w miare ustawianie mozliwych poziomow dostepu. np. dopisuje modul newsow i do niego panel admina. i jak to teraz wszystko zegrac aby bylo polautomatyczne

myslalem nad operacjami bitowymi albo trzymania mozliwych permow dla danych dzialow strony jako drzewa (chyba ciut do glupie).
wiec ? ;]
patrycjusz
15.10.2004, 23:02:24
google i phpGACL i ogólnie poczytać o ACL
pzdr
Vengeance
16.10.2004, 00:06:45
dzieki jutro poczytam.
a co sadzice lepiej samemu stworzyc mini acl czy skozystac z tego phpGACL ?
ta pl dokumentacja z php.pl juz sciagnieta

jutro zabieram sie do czytania.
matid
16.10.2004, 08:53:27
Wg. mnie uprawnienia grupowe powinny mieć mniejszą rangę niż uprawnienia indywidualne.
Druga sprawa to to, że każde uprawnienie powinno dzielić się na (zapis, odczyt, itp.) a każde z nich na 3 pozycje:
0 - brak uprawnień, może odziedziczyć
1 (zezwól) - posiada uprawnienia
-1(odmów) - brak uprawnień, nie może odziedziczyć
W takim wypadku. Jeśli user ma 0, a jakakolwiek grupa do której należy ma 1 to user ma 1.
Jeśli user ma 1 a wszystkie grupy do których należy ma 0 to user ma 1.
Jeśli user ma 1 a jakaś grupa (bądź wszystkie) mają -1 to user też powinien mieć 1.
Natomiast jeśli user ma -1 to niezależnie od tego jakie uprawnienia mają grupy to i tak ma -1.
Vengeance
16.10.2004, 10:56:31
tez wlasnie o czyms takim myslalem.
tyle ze nie zapis/odczyt itp. ala unix bo to troszke dla mnie
nieporęczne :/ gdy np. masz moduł newsów i chcesz bardzo rozdzielić
zadania. np uprawnienia dla:
+ dodawania newsow
+ usuwania newsów
+ edycji newsów
+ aktywacji newsów
+ deaktywacji newsów
czyli np. user moze:
+ dodawac newsy
+ aktywować
innych rzeczy już nie moze. od tego jest np. moderator na poziomie wyżyszym ;]
i wlasnie chodzi oto ze liczba takich "stanów" uprawnień czyli to co wymieniałem powyżej jest zmienna dla każdej części strony i trza napisać coś czemu nie bedzie to wadziło.
Ok ide właśnie poczytać o phpGACL. jak ktos cos jeszcze ma do powiedzenia to zapraszam ;]
rogrog
16.10.2004, 11:52:44
można to rozwiązać tak jak jest w Phiendzie, to znaczy:
- każda akcja ma określone role, jakie są dla niej wymagane
- użytkownicy mają swoje role i użytkownik może wykonać daną akcję jeśli ma wszystkie role dla niej wymagane
więcej o tej koncepcji w dokumentacji Phienda
Vengeance
16.10.2004, 12:11:40
hmm przeczytac nie zaszkodzi ale raczej to nie dla mnie
gdyz to co pisze chyba nie jest zgodne z modelem MVC ;]
--edit
poczytałem o tym ACL i dobra rzecz. w sumie coś podobnego do tego co ja miałem w zamyśle korzystając z drzewa do ustalania uprawnień.
Jednak chyba sam napisze mini obsługe takiego ACL zamiast korzystać z phpGACL.
ma ktos jeszcze jakies swoje przemyslenia odnosnie permow ;]
NuLL
17.10.2004, 00:57:25
Mam napisany system uprawnien taki jak opisalem- myslicie aby to opublikowac na GPL?? Samo dzialanie oprocz panelu to jest jedna funkcja
Vengeance
17.10.2004, 09:06:38
pewnie, że możesz

sadze ze nikt sie nie obrazi
DeyV
17.10.2004, 10:46:13
hawk
18.10.2004, 08:56:10
1) To co ma phiend to tzw role-based auth. Najlepiej opisany, i najlepiej zaimplementowany okazji binarycloud. A binarycloud jest oparty o jakieś poważne teoretyczne traktaty i opracowania akademickie.
2) Role-based auth nie jest niezgodne z MVC. Nie jest też zgodne. Po prostu nie ma nic wspólnego.
3) Mi się najbardziej podoba rozwiązanie oparte o grupy, tak jak w winnt. Ładnie pasuje do MVC: akcja == plik, akcje podzielone na "katalogi", dziedziczenie, itd. Pozostaje tylko implementacja
Vertical
19.10.2004, 09:11:43
Ja to robię tak, że do bazy danych razem z loginem i hasłem idą uprawnienia:
0 - Zablokowany użytkownik
1 - Zwykły użytkownik
2 - Moderator
3 - Administrator
NuLL
19.10.2004, 09:25:06
@Vertical - slabo z elastycznoscia takiego rozwiazanie - Masz zdefiniowane grupy - trudno zrobic sobie cos nowego - typu newsman czy download Admin. Ja np zapisuje w bazie wszystkie dostepne uprawnienia - i potem lacze w grupy, zestawy itp
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.