LogoutReason // Neidentifikovateľné odhlásenie?

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

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

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

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 expiraci

PS: taky se podívej na Switch (a default:)