Autentizacia – zaciatocnicka otazka
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- slano
- Člen | 2
Zdravim,
mam pomerne elementarny dotaz. Podla navodu som vytvoril extremne jednoduchy skript na autentizaciu, ktory funguje pokial zadam spravne meno a heslo, ale v momente ak to heslo zadam ine, tak sa absolutne nic nevykona ani nevypise. Co nerobim spravne?
Vdaka
<?php
require "Nette/loader.php";
class MyAuthenticator extends Object implements IAuthenticator
{
public function authenticate(array $credentials)
{
$username = $credentials[self::USERNAME];
$password = $credentials[self::PASSWORD];
if ($password == "heslo"){
return new Identity("User name");
} else {
throw new AuthenticationException("Invalid password.");
}
}
}
$user = Environment::getUser();
$user->setAuthenticationHandler(new MyAuthenticator);
try{
$user->authenticate("user","heslo");
echo $user->getIdentity()->getName();
} catch (AuthenticationException $e) {
echo 'Chyba: ', $e->getMessage();
}
?>
- PetrP
- Člen | 587
Tenhle ořezanej script mi v pohodě funguje (tedy vypíše
Chyba: Invalid password.
).
Hledal bych chybu jinde, jakou verzi a revizi nette používáš?
Skutecně existuje require "Nette/loader.php";
?
Nahoď laděnku jestli třeba něco neřekne ona:
Debug::enable(Debug::DEVELOPMENT);
Případně si skus dumpovat jednotlivé kroky authenticate
jestli
to tam vůbec dojde.
Editoval PetrP (27. 5. 2009 14:24)