Jet\Auth_Role_Interface
Jak funguje autetizace a autorizace jsme si již řekli. Nyní si popíšeme rozhraní, které musíte implementovat ve vašem aplikační prostoru a vytvořit tak třídy představující role.
Statické metody pro obecnou práci s rolemi
Metoda | Význam |
---|---|
public static get( string $id ): static|null |
Vrátí konkrétní roli (pokud existuje) |
public static getList( ): iterable |
Vrátí seznam všech dostupných rolí. |
public static idExists( string $id ): bool |
Prověří zda je ID role již použito. |
Metody pro práci s konkrétní rolí
Metoda | Význam |
---|---|
public getId( ): string |
Vrátí ID role. |
public getName( ): string |
Vrátí název role. Název je označení role určené pro uživatele. |
public setName( string $name ): void |
Nastaví název role. |
public getDescription( ): string |
Vrátí popis role. Popis je informace určená pro uživatele. |
public setDescription( string $description ): void |
Nastaví popis role. |
public getUsers( ): iterable |
Vrátí seznam uživatelů majících danou roli. |
public getPrivileges( ): Auth_Role_Privilege_Interface[] |
Vrátí všechna přiřazená oprávnění role v podobě instancí příslušných tříd. |
public getPrivilegeValues( string $privilege ): array |
Vrátí všechny přiřazené hodnoty určeného oprávnění. |
public setPrivileges( array $privileges ): void |
Hromadně roli nastaví přiřazená oprávnění (staré nastavení se přepíše). Definice oprávnění je předána v této podobě:
setPrivileges([
|
public setPrivilege( string $privilege, array $values ) : void |
Nastaví roli jedno konkrétní oprávnění a jeho hodnoty. |
public removePrivilege( string $privilege ): void |
Odebere roli oprávnění (samozřejmě včetně všech hodnot) |
public hasPrivilege( string $privilege, mixed $value=null ): bool |
Ověří zda má role dané oprávnění. Pokud má parametr $value hodnotu null, pak ověří zda oprávnění role má bez ohledu na hodnotu (tedy zda vůbec toto oprávnění má ať se týká čehokoliv). |