Nette\Security\SimpleAuthenticator
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).
Oveř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 very weak password!
));
$user = new User;
$user->setAuthenticationHandler($authenticator);
// přihlášení
$user->authenticate('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->signOut();
Viz také:
