Problém s autorizací, přesměrování na login stránku
- kutilek.lukas
- Člen | 3
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)
- kutilek.lukas
- Člen | 3
:)…
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 | 1195
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.