Po druhém reloadu ignoruje session

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

Zdravím, narazil jsem na problém a ať hledám jak hledám, netuším, proč tomu tak je.

Situace je následující:
Uživatel se přihlásí – odešle formulář, proběhne autentizace – dotaz na databázi, je nalezen, vracím novou identitu s uživatelskými daty
Po úspěšné autentizaci je přesměrován do administrace, ta se v pořádku vykreslí, všechno jak má být.
Po načtení stránky je ve složce session vidět cca 2kB soubor s daty, ze kterých jde vyčíst, že se jedná právě o onu danou uživatelskou identity.

Pak ale když kliknu na jakýkoliv odkaz, tak to uživatel automaticky odhlásí. LogoutReason je NULL. Původní session soubor s identitou je smazán a místo toho je tam jen jiný soubor s novou, prázdnou identitou.

V abstraktním presenteru administrace ve startupu testuju ze pokud !$this->getUser()->isLoggedIn()
tak přesměruju. Samozřejmě na téhle podmínce to selže – hlasí to, že je odhlášen, takže ho přesměruje zpět na přihlášení.

Opravdu netuším, kde by mohl být problém. Chyby žádné, log čistý, strictMode=true

Používám Nette 2.0-dev released on 2011–03–10

srigi
Nette Blogger | 558
+
0
-

Kukni nastavenie cookies v browseri aj v Nette app.

Aurielle
Člen | 1281
+
0
-

Tohle téma bych zneužil k tomu zeptat se jak řešíte změnu identity jiným člověkem? (typický případ – administrátor upraví detaily právě přihlášeného uživatele) Načítat údaje z databáze při každém requestu znovu a porovnávat s identity (nebo něco podobného)? Nebo to jde i lépe?

voda
Člen | 561
+
0
-

gmvasek napsal(a):

Tohle téma bych zneužil k tomu zeptat se jak řešíte změnu identity jiným člověkem?

Po nějakém timeoutu (15 minut) načítám aktuální data znovu z db.

nAS
Člen | 277
+
0
-

V identitě je uložena verze a při každém načtení stránky se porovná verze identity s verzí v cache a když nesouhlasí, tak se identita reloadne.