LogoutReason // Neidentifikovateľné odhlásenie?
- snipi
- Člen | 20
Zdravím,
mám v BasePresenteri vytvorenú funkciu, ktorá mi kontroluje access do celého systému, aby som vedel, čo môžem a nemôžem zobraziť. Rovnako tak hneď overujem aj práva na určitú akciu pre daného užívateľa. U mňa všetko funguje úplne v poriadku, avšak klient si sťažuje, že po vykonaní určitých akcií ho systém automaticky vyhodí. Skúšal som logovať všetky možné druhy logoutReason-u avšak systém mi vracia NULL. To znamená, že neviem presne zistiť dôvod, prečo by to klienta vyhodilo.
príklad:
if($this->user->getLogoutReason() === NUser::INACTIVITY) {
$reason = 'Vypršalo prihlásenie';
}
if($this->user->getLogoutReason() === NUser::MANUAL) {
$reason = 'Manuálne odhlásenie';
}
if($this->user->getLogoutReason() === NUser::BROWSER_CLOSED) {
$reason = 'Zatvorený prehliadač';
}
if(strlen($reason)=== null) {
$reason = 'unknown / system failure';
}
$this->saveActivity(null,'other','info','Typ odhlásenia: '.$reason."\n ---- \n".$dt);
Viete mi niekto prosím poradiť, ako môžem zistiť, kde presne došlo ku chybe, resp. ako sa dopátrať k problému, ktorý by mohol spôsobiť okamžité zrušenie identity, prípadne, čo by mohlo používateľa „kicknúť“ do kakáča?
DODATOK
toto divné správanie je len v prehliadačoch ako je CHROME či IE 7,8 a pod.
Pod FF sa mi nikdy nič také nestalo, resp. nebol som po vykonaní akcie
poslaný do kanála (prdele)… a zostala mi platná session aj všetko… Pod
chrome to proste celé „skape“.
Ďakujem
Editoval snipi (10. 1. 2012 12:33)
- bojovyletoun
- Člen | 667
Některé příčiny odhlášení prostě zjistit nejdou (je to zde na foru,
rozebíralo se to).
Co se týče prohlížečů, tak o tom se taky psalo, že (asi FF) právě
nechává cookies i přes zavření okna (ostatní „správně“ smazaly
cookie po zavření, protože lifetime byl nastaven na 0)
Nastav tedy expiraci
PS: taky se podívej na Switch (a default:)
Editoval bojovyletoun (11. 1. 2012 21:53)
- snipi
- Člen | 20
No, odhalil som problem, ktory v tom bol…
otvaral som tam do popup-u ajaxovo generovane okno, ktore malo inak nastavene
parametre vramci namespace a celkovo expiracie, cim sa automaticky pri otvoreni
zrusila planost, pretoze prehliadac ako chrome (ktory neotvara okna ako
„parent a child“) otvoril novy prehliadac, cim nette tuto skutocnost
vyhodnotilo ako „ukradnutie session“ a vygenerovalo novu, cim povodnu
zrusilo…
ale aj tak dik…
neboj sa, switch a case poznam, ibaze rovnako tak by si mal mysliet na to, ze switch nie je pre pripadne volania podmienok vhodne… ale to uz je zasa na oop ;)
bojovyletoun napsal(a):
Některé příčiny odhlášení prostě zjistit nejdou (je to zde na foru, rozebíralo se to).
Co se týče prohlížečů, tak o tom se taky psalo, že (asi FF) právě nechává cookies i přes zavření okna (ostatní „správně“ smazaly cookie po zavření, protože lifetime byl nastaven na 0)
Nastav tedy expiraciPS: taky se podívej na Switch (a default:)