Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Przechowywanei informacji o prawach
Forum PHP.pl > Forum > Przedszkole
Kamil Pietrzak
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
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
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
a nie możesz zrobic 1 pola w bazie i dać np
1 - admin
2 - moderator
3 - mozliwosc edytowania postow
4 - kasowania
- itd
questionmark.gif
flashdev
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.