Neustálé odhlašování uživatele na produkci

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

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:

  1. přihlásím se [logged in] → přesměrování na hlavní stránku adminu [logged in]
  2. 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)

lukyn94
Člen | 30
+
0
-

Jede ti to na linuxu ?

Aurielle
Člen | 1281
+
0
-

na produkci je linux

lukyn94
Člen | 30
+
0
-

koukni jestli za to nemuze cron (na linuxu) tam je nastaveno v cronu ze kazdych 20 min cca maze sessions

chikeet
Člen | 160
+
0
-

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
+
0
-

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.

Jan Endel
Člen | 1016
+
0
-

Trošku zarážející, že admin nemá přístup na frontend, ale gratuluju k vyřešení problému :-).