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ží.
Předchozí kapitola
Jet\Auth_Controller_Interface
Další kapitola
Jet\Auth_Role_Interface