znovuobnovenie session po expiracii

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

Caute viete mi poradit?
mam v neonu:

session:
	autoStart: smart
	expiration: +1 minutes

v Secured presenteru:

/** @var Nette\Http\SessionSection */
public $signSession;

	/**
	* Startup
	*/
	public function startup()
{
  parent::startup();
  $user = $this->getUser();
		$this->signSession = $this->session->getSection("signSession");

  if (!$user->isAllowed($this->name, $this->action)) {
    if ($user->getLogoutReason() === IUserStorage::INACTIVITY) {
      $flashMessage = "Uplynula doba neaktivity! Systém vás z bezpečnostných dôvodov odhlásil.";
    }
    else{
  		$flashMessage = "Na vstup do tejto sekcie nemáte dostatočné oprávnenia!";
			}
			$this->flashMessage($flashMessage, 'warning');
			Debugger::log($flashMessage);
			$this->signSession->backlink = $this->storeRequest();
			$this->redirect(':System:Front:Sign:default');
  }
  else{
			$this->signSession->allowedBacklink = $this->storeRequest();
		}
}

$this->signSession->backlink pouzivam v login formulari, ide o to ze po expirovani session nastane pripad ze uzivatel nema opravnenia a bol odhlaseny koli neaktivite, a nastavenie session vyvola error:

$this->signSession->backlink = $this->storeRequest();
The expiration time is greater than the session expiration 60 seconds

ako viem znovu zapnut session pre backlink?

h4kuna
Backer | 740
+
0
-

To dělá to nastavení co máš v neonu, nevím zda je úplně optimální mít globální expiraci na 1 minutu, ale pokud to tak chceš tak metoda storeRequest() má první parametr $expiration. Takže ji volej

$this->storeRequest('+1 minute');

nebo si ji musíš přetížit a nastavit ji jinou defaultní hodnotu.

duskohu
Člen | 778
+
0
-

To budes stacit, dakujem.