Automatické odhlášení uživatele
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Martin Kubiš
- Člen | 2
Čaute,
heleďte řeším menší problém. K věci, řešim automatické
odhlašování viz příklad z HomepagePresenter.php:
<?php
protected function startup()
{
parent::startup();
if (!$this->getUser()->isLoggedIn()) {
if ($this->user->getLogoutReason() === User::INACTIVITY) {
$this->flashMessage('Byli jste automaticky odhlášeni - neaktivita.', 'infos');
}
$this->redirect('Sign:Default');
}
}
?>
Jak ale docílit toho, abych pro každý presenter nemusel psát (kopírovat) funkci startup? Příjde mi to neestetické. Ale když se kód vloží do BasePresenteru tak se vytvoří smyčka v přesměrování, což je logické.
- Martin Kubiš
- Člen | 2
Grelek napsal(a):
Tak
SignPresenter
nemusí dědit odBasePresenter
ale třeba odSecuredPresenter
neboNette\Application\UI\Presenter
astartup
si můžeš vesele nechat vBasePresenter
.
Jak triviální, díky! Ještě jeden dotaz, když se nastaví při přihlašování:
<?php
$user->setExpiration('+ 20 minutes', TRUE);
?>
Tak mě to prostě po dvaceti minutách ať už nečinnosti nebo usilovnýho klikání odhlásí, ne? Obnova tý sessiony se provede stejně, zase přes setExpiration?