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
+
0
-

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?

22
Člen | 1478
+
0
-

já si myslím, že session se prodlužuje automaticky, tady by ti měl stačit vzorový příklad ze sanboxu.

joska
Člen | 20
+
0
-

Díky, je to tak :) Dělám si to zbytečně složitým.