Nelze se odhlásit přes logout()

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

Zdravím a prosím o radu,

nelze se mě odhlásit přes

$this->getUser()->logout();

a vůbec netusim proc. Napadá vas něco na co se podívat?
Akce projede, žádná chyba, ale pořád jsem přihlášen.. vidím session i v debugpanelu.
Díky!

Presenter

class LoginPresenter extends BasePresenter {

    public function startup() {
        parent::startup();
        if ($this->getUser()->isLoggedIn()) {
            $this->redirect('Pages:');
        }
    }

    public function renderDefault() {

    }

    function createComponentSignForm() {
        $form = new Form();
        $form->addText('email', 'E-mail:', 15)
                ->setRequired('Vyplňte prosím jméno');
        $form->addPassword('password', 'Heslo:', 15)
                ->setRequired('Vyplňte prosím heslo');
        $form->addSubmit('send', 'Přihlásit');
        $form->onSuccess[] = callback($this, 'formSubmitted');
        return $form;
    }

    function formSubmitted($form) {
        $values = $form->getValues();
        try {
            $this->getUser()->login($values->email, $values->password);
	    $this->getUser()->setExpiration('+ 1 day', FALSE);
            $this->flashMessage('Byl jste přihlášen');
            $this->redirect('Pages:');
        } catch (Nette\Security\AuthenticationException $e) {
            $form->addError($e->getMessage());
        }
    }

    function actionOut() {
        $this->getUser()->logout();
        $this->flashMessage('Byl jste odhlasen');
        $this->redirect('Login:');
    }

}

Config:

session:
		debugger: true
		expiration: + 1 day

Šablona:

<a n:href="Login:out" class="btn btn-info btn-xs"><span class="glyphicon glyphicon-off"></span></a>

Editoval MW (1. 6. 2016 16:19)

David Matějka
Moderator | 6445
+
+1
-

k logoutu nemuze dojit, jelikoz ve startupu prihlaseneho uzivatele presmerujes jinam.

MW
Člen | 626
+
0
-

Ajo :D to se vlasne provede před action :D

Jak se toto v praxi resi lepe, prosim?

Moc diky !

Pavel Kravčík
Člen | 1196
+
+1
-

actionDefault()

Nebo ošklivě testuj akci ve startupu.

Editoval Pavel Kravčík (1. 6. 2016 17:01)

MW
Člen | 626
+
0
-

Díky!