Problém expirace proměnné po zavření prohlížeče

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

Ahoj,

nějak se mi nedaří odstranit proměnnou z prostoru session, při uzavření prohlížeče.

config:

	nette:
		session:
			autoStart: smart
			expiration: '+ 14 days'

vytvoření prostoru v presenteru A

public function handleValidation()
{
	$section = $this->session->getSection('isValid');
	$section->valid = TRUE;
	$section->setExpiration(0, 'valid');
	$this->redirect('B');
}

kontrola v presenteru B

public function startup()
{
	parent::startup();

	$section = $this->session->getSection('isValid');

	if ( $section->valid !== TRUE )
	{
		$this->redirect('A:');
	}
}

Pokud navštívím stránku B poprvé, dostanu se na presenter A, kliknu na tlačítko, handleValidation kliknutí obslouží, a pošle mě na presenter B. To je super a funguje, ale pokud zavřu prohlížeč, znovu ho otevřu a jdu na stránku kterou obsluhuje presenter B, tak mě to již nikam nepřesměruje.

V session potřebuji držet informace o prohlížení a nechci je mazat, a pouze validaci chci kontrolovat při každém novém otevření prohlížeče.

Nějaká rada, prosím?

Kyslik
Člen | 15
+
0
-

Aktualizace:

	$section = $this->session->getSection('isValid');
$section->valid = TRUE;
$section->setExpiration(0, 'valid');

Nefunguje ve Firefoxu na Ubuntu a odnožích, testoval jsem na win7, chrome, opera, ie, safari, firefox a expirace proměnné „valid“ po zavření prohlížeče funguje.

Ač nevidím v linuxu žádné spuštěné vlákno, které by patřilo firefoxu a to i po jeho zavření, které by mohlo instanci prohlížeče držet v paměti a tím držet session, stejně po jeho opětovném spuštění proměnná stále existuje.

Teď nevím, jestli je to chyba v OS (Linux), Firefoxu nebo Nette…