Kamil Pietrzak
20.10.2010, 20:41:40
Witam
W jaki sposob przechowujecie informacje o prawach uzytkownika?
Wymyslilem sobie taki sposob, ze w bazie bedzie pole tekstowe na prawa uzytkownika - np. takie cos "-v -comm-mkdir -comm-delfile -com-chname -pm-send -art-add -art-del -art-mod" etc.
potem na poczatku skryptu byloby to pobierane i zapisywane do stalej RIGHTS, a w trakcie dzialania rozne klasy sprawdzwalyby sobie czy RIGHTS zawiera np. -art-add(prawo do pisania artykulow)
co myslicie o tym sposobie?
Otto
20.10.2010, 20:45:30
A nie prościej dać np samą kolumnę access i np 1 na ma prawa do pisania tego wszystkiego a 0 nie ma?
Kamil Pietrzak
20.10.2010, 20:51:17
Wtedy uzytkownik albo by mial prawa, albo by ich nei mial, a nie np. tak, ze ma prawa do pisania artykulu, ale do kasowania nie ma, a edytowac moze tylko swoje
Oczywiscie nie nadalbym praw kazdemu userowi z osobna, tylko poprzez grupy
Teraz pozostaje pytanie - zrobic to tak, czy oddzielna kolumne dla kazdego prawa w bazie?
a moze bylby jakis inny sposob?
Ulysess
20.10.2010, 21:14:02
a nie możesz zrobic 1 pola w bazie i dać np
1 - admin
2 - moderator
3 - mozliwosc edytowania postow
4 - kasowania
- itd
flashdev
20.10.2010, 21:25:55
Robisz pole 8 bitowe w bazie (TINYINT) i w nim możesz zapisać 8 dwuwartościowych niezależnych zmiennych. Każdą ze zmiennych sumujesz bitowo z odpowiednią wagą.
zm0 | zm1<<1 | zm2<<2 ...
wyciągnięcie zmiennej analogicznie:
if( pole & (1<<numer_ziennej) ) ...
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.