Problém s autorizací, přesměrování na login stránku

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

Ahoj,
převzal jsem projekt psaný na Nette (ale jinak s Nette mám také zkušenosti), řeším na něm bohužel problém zřejmě s přihlašováním. Problém se mi nedaří nasimulovat, ale mnoho uživatelů ho hlásí. Už jsem v koncích s možnostmi co vyzkoušet, proto se obracím na Vás :).

Jak se to projevuje:

  • Přihlášený uživatel má občas z nějakého důvodu problém dostat se do konkrétního presenteru, místo požadované stránky se zobrazí login page (uživatel se ale neodhlasí, stačí stisknout zpět a je přihlášen). Do daného Presenteru se nedostane několik hodin, poté je přístup zase možný.

Co jsem zjistil

  • Nezáleží na prohlížeči
  • Nestačí se odhlásit/přihlásit
  • Smazání Cookies nic nevyřeší
  • Přihlášení v jiném prohlížeči pomůže
  • Zlobí zřejmě ve všech presenterech, ale pokud když už problém je, vztahuje se vždy pouze na jeden presenter
  • Velmi zajímavé, ale neověřené – Ve Chrome s přihlášeným Google uživatelem se problém přenese i na ostatní prohlížeče/zařízení, kde je konkrétní uživatel přihlášen.
  • Projevuje se v obou modulech (admin/member)
  • Projevuje se na všech subdoménách (každá subdoména má jinou DB, kód ale stejný)

Jak je to psané:

  • Na začátku každého presenteru mám ověření přihlášení, viz:
protected function startup()
{
    parent::startup();
    if (!$this->getUser()->isLoggedIn()) {
        $this->redirect('Sign:in');
    }
	}
  • Pokud u uživatele problém nastal, zkoušel jsem před parent::startup(); dát exit(); ale i tak to uživatele přesměrovalo na loginpage.
  • problém nastává hodně sporadicky, z několika set uživatelů týdně je 1–2 nahlášených problémů.

Již jsem s řešením v koncích a nevím kde hledat chybu, moc díky za nějaké nakopnutí.

Nette 2.0.10

Editoval kutilek.lukas (4. 6. 2015 16:17)

studna
Člen | 181
+
0
-

Nejede mi auto. Jak ho opravit?

Nejspíš tam máš nějakou prasárničku (v BasePresenteru?). Zkus kontaktovat předchozího autora. A nebo si běh té aplikace odkrokuj (XDebug) a třeba zjistíš, kde je chyba. :-)

kutilek.lukas
Člen | 3
+
0
-

:)…
rád bych odkrokoval, bohužel se mi problém nedaří nasimulovat. V error logu také nic není. V BasePresenteru se takřka nic neřeší.

problém nastává hodně sporadicky, z několika set uživatelů týdně je jsou 1–2 nahlášené problémy.

Pavel Kravčík
Člen | 1183
+
0
-

Update na novější verzi 2.0.10 → 2.0.18. Neměl by tam být žádný problém. A pak zkontroluj UserModel, jak vypadá. Případně pokud je upravený, tak bys ho mohl postnout.