Neustálé odhlašování uživatele na produkci
- chikeet
- Člen | 160
Zdravím,
mám následující problém:
Mám v aplikaci dva moduly, které vyžadují přihlášení – Frontend a Admin.
Pokud se pokusím přihlásit jako frontend uživatel do Frontend modulu, je vše ok.
Pokud se pokusím přihlásit jako admin do Adminu, na localhostu je vše ok, ale na produkci mě to po přihlášení a následném kliknutí na libovolný odkaz v rámci Admin modulu přesměruje zpět na přihlašovací stránku, přičemž podle debug baru v té chvíli už přihlášená nejsem. Chová se to takto jen v jednom modulu (logika přihlašování a odhlašování je prakticky totožná) a jen na produkci.
Budu ráda za jakoukoliv radu, v čem by mohl být problém a jak to řešit.
Edit: nevím, jestli je to takhle dost srozumitelné, takže to ještě trochu rozepíšu:
- přihlásím se [logged in] → přesměrování na hlavní stránku adminu [logged in]
- kliknu na libovolný odkaz vedoucí na jakýkoliv presenter v admin modulu [unlogged] → přesměrování na přihlášení
Lokálně jedu na windows, na produkci je linux. Mám podezření, že se tam nějak ztrácí session, ale nevím, kde, jak a hlavně proč se to děje.
Editoval chikeet (20. 12. 2014 19:15)
- chikeet
- Člen | 160
Ne, to není po 20 minutách, je to okamžitě po přihlášení. Kromě toho přihlášení do front modulu funguje a tam je session taky, takže pokud se ztrácí session (jiný důvod mě zatím nenapadá), tak se to děje jen v admin modulu, z čehož usuzuju, že globální problém se session to nebude.
- chikeet
- Člen | 160
Vyřešeno :-) Mohl za to favicon a router… (A samozřejmě jistý faktor mezi klávesnicí a židlí.)
Podstatné:
- admin nemá přístup na front, front uživatel zase do adminu. Pokud uživatel vleze do špatného modulu, je odhlášen (abych předešla smyčce při přesměrování)
- v adminu byl favicon s href=„{$basePath}/favicon.ico“
- v routeru mám základní routu pro front ve tvaru:
$frontendRouter[] = new Route('<language>', array(
'presenter' => 'Default',
'action' => 'default',
'language' => 'cs'
));
No a problém spočíval v tom, že ‚{$basePath}/favicon.ico‘ se naroutovalo na Frontend:Default:default, language ⇒ ‚favicon.ico‘. Tím se ve frontend modulu provedlo ověření oprávnění uživatele a uživatel byl následně odhlášen… ihned po načtení faviconu. Vtipné, což? :-)
K vyřešení problému stačila změna cesty pro favicon.