Zjištění expireTime relace přihlášení
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- joska
- Člen | 20
Potřeboval poradit s logikou aplikace. Mám v aplikaci možnost trvalého přihlášení, kterou řeším checkboxem u přihlašovacího formuláře. V handleru formuláře mám pak jednoduše podmínku:
if($form['permanentLogin']->value==1){
$this->user->setExpiration('+ 365 days', FALSE);
}else{
$this->user->setExpiration('+ '.$this->getContext()->params['security']['adminRelation'].' minutes', TRUE);
}
Problém je, když chci v SecuredPresenteru aplikace (parent presenter pro celou zabezpečnou část) prodloužit relaci o dalších n minut. Normálně bych to udělal pomocí:
$this->user->setExpiration('+ '.$this->getContext()->params['security']['adminRelation'].' minutes', TRUE);
ale tím zruším „trvalé“ přihlášení uživateli, který si ho při přihlášení zaškrtl. Jako nejčistší řešení se mi jeví zjistit expireTime pomocí getSessionSection(), ale daná funkce není public a předpokládám, že to má nějaký důvod.
Jak lze tento problém řešit?