rozchození acl dle návodu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
tatyalien
Člen | 239
+
0
-

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)

redhead
Člen | 1313
+
0
-

Tak ti tam asi taky chybí N prefix ne?

tatyalien
Člen | 239
+
0
-

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)