rozchození acl dle návodu
- tatyalien
- Člen | 239
Dobrý den,
pokouším se rozchodit acl dle návodu https://doc.nette.org/cs/security/authentication
Samozřejmně, jsem musel upravovat dost věcí (například isAuthenticated změnit na isLoggedIn, dodávat „N“ – mám prefixovanou doporučenou verzy nette: Nette Framework 2.0-dev (revision a8e74c1 released on 2010–10–14))
Přihlašování mě funguje, sekce se zobrazují. Ale chyba mě nastane v momentě, když zadám schválně přihlašovací údaje, má mě dle návodu skočit:
<?php
throw new AuthenticationException("Užívateľ s registračným emailom '$login' sa nenašiel!", self::IDENTITY_NOT_FOUND);
?>
Avšak mě laděnka skočí a píše Class ‚AuthenticationException‘ not found…
Přitom však dle návodu mám:
<?php
final class Admin_AuthPresenter extends Admin_BasePresenter
{
/** @persistent */
public $backlink = '';
protected function createComponentLoginForm($name)
{
$form = new NAppForm($this, $name);
$form->addText('login', 'Email:')
->addRule(NForm::EMAIL, 'Prosím zadajte registračný email.');
$form->addPassword('password', 'Password:')
->addRule(NForm::FILLED, 'Prosím zadajte heslo.');
$form->addProtection('Prosím odešlet přihlašovací údaje znovu (vypršela platnost tzv. bezpečnostního tokenu).');
$form->addSubmit('send', 'Přihlásit');
$form->onSubmit[] = array($this, 'loginFormSubmitted');
}
public function loginFormSubmitted($form)
{
try {
$user = NEnvironment::getUser();
$user->login($form['login']->value, $form['password']->value);
$this->getApplication()->restoreRequest($this->backlink);
$this->redirect('Default:default');
}
catch (AuthenticationException $e) {
$form->addError($e->getMessage());
}
}
}
?>
Nette neovládám, ale chci se učit, ale podle mě po stisknutí tlačítka se snaží ve funkci loginFormSubmitted vyzkoušet zda uživatele přihlásí (try) pokud ne, tak v catch odchytávám právě AuthenticationException, ale Nette, stále píše, že AuthenticationException nikde není.. jsem z toho boha nějaký zmatený…)
Editoval tatyalien (7. 1. 2011 12:33)
- tatyalien
- Člen | 239
redhead:
Jo máš pravdu, dodal jsem ho při zkoušení do final class
Admin_AuthPresenter extends Admin_BasePresenter
ale stejně me to nefungovalo, protože jsem to ještě neopravil v
<?php
catch (NAuthenticationException $e) {
$form->addError($e->getMessage());
}
?>
jsem to ale lama, sorry
Editoval tatyalien (7. 1. 2011 12:45)