Jet\Auth_User_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řídu představující uživatele. Lépe řečeno třídy představující uživatele - dle určení.
Statické metody pro obecnou práci s uživateli
Metoda | Význam |
---|---|
public static get( string|int $id ): static|null |
Na základě ID vrátí instanci uživatele (pokud takový uživatel existuje). |
public static getList( string|null $role_id = null ): iterable |
Vrátí seznam uživatelů. Je možné rovnou získat seznam uživatelů patřících do určité role. |
public static getByIdentity( string $username, string $password ): static|null |
Vrátí instanci uživatele na základě jeho uživatelského jména a hesla. Oba údaje musí být samozřejmě platné - v opačném případě je vrácena hodnota null. |
public static usernameExists( string $username ): bool |
Ověří zda je dané uživatelské jméno není již použito. |
public static getGetByUsername( string $username ): Auth_User_Interface|null |
Vrátí instanci uživatele na základě uživatelského jména. |
Metody pro práci s konkrétním uživatelem
Metoda | Význam |
---|---|
public getId( ): string|int |
Vrátí ID uživatele. |
public getUsername( ): string |
Vrátí uživatelské jméno. |
public setUsername( string $username ): void |
Nastaví uživatelské jméno. |
public setPassword( string $password, bool $encrypt_password=true ): void |
Nastaví heslo. Pokud je parametr encrypt_password = true (výchozí hodnota), pak je na vstupu předpokládáno heslo v textové podobě a před nastavením je transformováno na hash. V opačném případě se předpokládá již zabezpečené heslo. |
public encryptPassword( string $plain_password ): string |
Přemění heslo v textové podobě na hash. |
public verifyPassword( string $plain_password ): bool |
Ověří platnost hesla. |
public getName( ): string |
Vrátí jméno uživatele, které je používané například v protokolech událostí. Tedy například pro účel: Článek editovat "Franta Novák". |
public setRoles( array $role_ids ): void |
Nastaví role uživatele. Na vstupu je očekáváno pole, které obsahuje ID rolí. |
public getRoles( ): Auth_Visitor_Role[] |
Vrátí přehled rolí (v podobě instancí rolí) ke kterým uživatel náleží. |
public hasRole( string $role_id ): bool |
Ověří zda uživatel má danou roli. |
public hasPrivilege( string $privilege, mixed $value=null ): bool |
Ověří zda má uživatel dané oprávnění. Pokud má parametr $value hodnotu null, pak ověří zda oprávnění uživatel má bez ohledu na hodnotu (tedy zda vůbec toto oprávnění má ať se týká čehokoliv). |
public getPrivilegeValues( string $privilege ): array |
Vrátí seznam všech možných povolených hodnot oprávnění a to ze všech rolí, do kterých uživatel náleží. |