CAuthority
A jogosultságok kezelésére szolgáló osztály. Rendkívül egyszerű, strukturált jogok kezelésére alkalmas, amelyek formátuma elso.masodik.harmadik. Néhány fontos szabály, amelyet szem előtt kell tartani a használatához:
- minden jog pontokkal szeparált részekből áll
- ha egy jog engedélyezve van, akkor minden prefixe is (a fenti példánál maradva: engedélyezett a
elso.masodikés azelsojog is) - ha kitörlünk egy jogot, akkor minden leszármazott jog is törlődik
konstruktor
CAuthority()
Az éppen aktuálisan érvényes jogosultsággal fog visszatérni. Amennyiben nincs érvényben jogosítás, úgy létrehoz egy üreset, amit azonnal aktuálissá is tesz, ezért utána egyetlen jog sem lesz megadva!
CAuthority(string $auth)
A toString metódus által adott string alapján létrehoz egy új objektumot. Ha új, üres objektumot szeretnénk példányosítani, akkor a new CAuthority(””) hívást használjuk.
metódusok
add
bool add(string auth)
Egy új jogot ad hozzá. Akkor ad vissza true értéket, ha a jog már előtte is létezett.
bool add(CAuthority auth)
Hozzáadja a auth paraméterben megadott objektumban tárolt jogokat, amivel lényegében a két jog halmaz unióját képezhetjük.
remove
bool remove(string auth)
Egy jogot távolíthatunk el a jogok közül. Amennyiben a jognak vannak leszármazottai, azok is eltávolításra kerülnek. Akkor az vissza true értéket, ha a jog létezett a törlés előtt.
isauth
bool isAuth(string auth)
Megadja, hogy az adott jog szerepel-e a jogok között. Emlékezzünk rá, hogy amennyiben egy joggal rendelkezünk, akkor minden prefix joggal is rendelkezni fogunk.
intersect
bool intersect(CAuthority auth)
Csak azokat a jogokat hagyja meg, amelyek az auth objektumban is meg vannak adva, így lényegében a két jog halmaz metszetét képzi.
tostring
string toString()
Visszaadja az objektum string reprezentációját, amely alapján az objektumot példányosíthatjuk.
setsystemauth
void setSystemAuth()
Ezt az objektumot beállítja az aktuális jogosultság kezelő objektummá.