Po vypršení doby přihlášení přesměrovat na přihlášení
- aha009
- Člen | 50
Ahoj,
chtěl bych aby se stránka administrace po vypršení času přihlášení
automaticky přesměrovala na přihlášení.
Prosím vás o radu.
Děkuji
BasePresenter
namespace App\AdminModule\Presenters;
use Nette\Application\UI\Presenter;
use Nette\Security\IUserStorage;
abstract class BasePresenter extends Presenter
{
/** @persistent */
public $locale = 'cz';
public function startup(): void
{
parent::startup();
$this->user->setExpiration('1 minutes');
if (!$this->user->isLoggedIn()) {
if ($this->user->getLogoutReason() === IUserStorage::INACTIVITY) {
$this->flashMessage('Z důvodu delší nečinnosti jste byli automaticky odhlášeni.', 'warning');
$this->redirect('Sign:in', ['backlink' => $this->storeRequest()]);
}
$this->redirect('Sign:in', ['backlink' => $this->storeRequest()]);
}
}
}
- MajklNajt
- Člen | 502
HonzaN napsal(a):
Expirace se kontroluje při každém požadavku na server. Je tedy zapotřebí v požadovaném intervalu provést jednoduchý XHR request do zabezpečené části, který v případě expirace vrátí odpověď která bude obsahovat vynucené přesměrování na nové přihlášení.
obávam sa, že posielať ajaxový request nemôže, lebo práve ten bude exspiráciu „resetovať“ a predlžovať…
- Kamil Valenta
- Člen | 822
Asi bych si držel v sessione timestamp poslední aktivity a neohlížel se na expiraci sessiony. Ajaxový požadavek by pak vedl na událost, která nebude timestamp posouvat…
- Kamil Valenta
- Člen | 822
HonzaN napsal(a):
@MajklNajt To je otázka správného časování.
Tomu nerozumím, lze uvést příklad?