Aktualizace na nette 2.1.2 – nefunguje prihlaseni

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

Zdravim,
aktualizoval jsem nette z 2.1.1 na 2.1.2 a přestalo mi chodit přihlašování.

zatím jsem se dopátral k tomu , že v Nette\Http\UserStorage v metode setAuthenticated()
se volá $this->sessionHandler->regenerateId();, které když zakomentuju, tak se normálně přihlásím…

Nevíte v čem může být problém?

PS:
Když v Nette\Http\Session::regenerateId() přesunu volání session_write_close(); před session_regenerate_id(TRUE);, tak to taky funguje. Divné…

Edit: Tak jsem zjistil, že mi browser posílá dvě PHPSESSID. První je to staré a pak to nové, vytvořené session_regenerate_id(TRUE). Bohužel v $_COOKIE je pak to první a ne to druhé, staré. Čím to může být?

Request Header obashuje toto:

Cookie:PHPSESSID=qt9f24aa8kr9fgfepm3s15soi5; nette-browser=sjss6kenmg; sessid=ff511e01c76f6597; nette-debug-panel-Nette-Diagnostics-DefaultBarPanel-4=; nette-debug-panel-NetteTranslator-Panel=; nette-debug-bar=0:0; nette-debug-panel-Nette-Diagnostics-Debugger-dumps=; fontSize=14px; nette-debug-panel-Nette-Security-Diagnostics-UserPanel=; nette-debug-panel-Nette-Database-Diagnostics-ConnectionPanel=; nette-debug-panel-Nette-Application-Diagnostics-RoutingPanel=; PHPSESSID=9eptr70l9fkfkq1vavrlki1bv6; nette-browser=sjss6kenmg

Edit: Děje se mi to jen na localhost, na 127.0.0.1 to nedělá

Editoval esorimer (13. 4. 2014 23:32)

matopeto
Člen | 395
+
0
-

divne, toto v starsich verziach bolo vyriesene. Riesilo sa to internou funkciou removeDuplikateCookies (alebo taky podobny nazov). Nemam teraz pristup k zdrojakom, tak neviem, mala by sa volat po regenerate Id. Skus porovnat stare a nove zdrojaky.

David Grudl
Nette Core | 8218
+
0
-

Podívej se v nějakém vývojářském nástroji, jaké všechny cookies browser pro danou stránku posílá.

esorimer
Člen | 114
+
0
-

David Grudl napsal(a):

Podívej se v nějakém vývojářském nástroji, jaké všechny cookies browser pro danou stránku

posílá.

Posílá tyhle dvě:

PHPSESSID=9eptr70l9fkfkq1vavrlki1bv6
nette-browser=sjss6kenmg

To PHPSESSID se pořád mění, můj browser ho posílá jako to druhé PHPSESSID, to prnví zůstává pořád stejné.