Po druhém reloadu ignoruje session
- lutor
- Člen | 27
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
- Aurielle
- Člen | 1281
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?