Jet\Auth_Controller_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 autentizační a autorizační kontroler.
Metoda | Význam |
---|---|
public handleLogin( ): void |
Obslouží přihlášení a pozor, nejen přihlášení, ale například i stav, kdy je uživatel sice přihlášen, ale jeho účet není aktivní, je zablokován, je požadována změna hesla a podobně. Pojem "obslouží" znamená, že například zobrazí příslušnou stránku, nebo například vrátí příslušnou odpověď (např. REST API). Celá obsluha je plně v režii metody. V ukázkové aplikaci je tato operace řešena tak, že je obsluha předána příslušným modulům (Login.Admin a Login.Web). Ovšem konkrétní operace a její implementace je plně v kompetenci kontroleru. |
public login( string $username, string $password ): bool |
Na základně uživatelského jména a hesla se pokusí přihlásit uživatele. Pokud je uživatel přihlášen (jedná se o platné uživatelské jméno a heslo), pak vrátí true. |
public loginUser( Auth_User_Interface $user ): bool |
Na základně instance konkrétního uživatele se jej pokusí přihlásit. Pokud je uživatel přihlášen (jedná se o platného uživatele), pak vrátí true. |
public logout( ): void |
Odhlásí uživatele. |
public checkCurrentUser( ): bool |
Ověří, zda je nějaký uživatel přihlášen a zároveň zda je jeho uživatelský účet platný (aktivovaný, nezablokovaný a tak dále - záleží na vaší implementaci). |
public getCurrentUser( ): Auth_User_Interface|bool |
Vrátí instanci aktuálně přihlášeného uživatele a to i když je uživatelský účet například zablokován. Pouze pokud žádný uživatel není přihlášen, pak vrátí false. |
public getCurrentUserHasPrivilege( string $privilege, mixed $value = null ): bool |
Ověří zda má aktuálně přihlášený 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 checkModuleActionAccess( string $module_name, string $action ): bool |
Ověří zda má aktuálně přihlášený uživatel oprávnění provést akci aplikačního modulu. |
public checkPageAccess( MVC_Page_Interface $page ): bool |
Ověří zda má aktuálně přihlášený uživatel oprávnění navštívit danou stránku. |