EN | CS | Přihlásit | Registrovat

Nette\Security\Sim­pleAuthentica­tor

Triviální implementace autentizačního handleru.

Autentizace

Autentizace je proces ověření proklamované identity subjektu.

Patří k bezpečnostním opatřením a zajišťuje ochranu před falšováním identity, kdy se subjekt vydává za někoho, kým není. V Nette rozlišujeme autentizaci entity (osoby).

Ověření uživatelského jména a hesla provádí autentizační handler, což je objekt implementující rozhraní Nette\Security\IAuthenticator.

Jeho triviální implementací je třída Nette\Security\SimpleAuthenticator, která dostane v konstruktoru seznam uživatelů a hesel jakožto asociativní pole.

Úkolem handleru je ověřit, zda uživatelské jméno a heslo odpovídá a v případě úspěchu vrátit tzv. identitu.

Neúspěch indikuje vyhozením výjimky Nette\Security\AuthenticationException s popisem důvodu. Lze využít i připravené konstanty IAuthenticator::IDENTITY_NOT_FOUND nebo IAuthenticator::INVALID_CREDENTIAL.

Příklad použití:

$authenticator = new SimpleAuthenticator(array(
'john' => 'IJ^%4dfh54*',
'kathy' => '12345', // Kathy, this is a very weak password!
));

$user = new User;
$user->setAuthenticationHandler($authenticator);

// přihlášení
$user->login('kathy', '12345'); // předáme přihlašovací jméno a heslo

// ověření, zda je uživatel přihlášen
if ($user->isAuthenticated()) { ... }

// jednoduché odhlášení
$user->logout();

Viz také:


Login to submit a comment