Odhlášení uživatele ze všech prohlížečů

Buri_xo
Člen | 2
+
0
-

Ahoj, chtěl jsem se zde zeptat zda máte někdo nějakou best practice na to jak odhlásit jednoho uživatele ze všech prohlížečů ve kterých je aktuální přihlášen. Pokud nad User zavolám logout() odhlásí ho to jen z prohlížeče kde byla akce zavolaná. A já bych potřeboval zajistit aby byl odhlášen ze všech.

Příklad:
Jsem přihlášen za jednoho uživatele na Firefoxu a za toho stejného uživatele na Chromu, a chtěl např. když změním heslo aby ho to automaticky na všech přihlášených browserech odhlásilo.

Napadlo mě vymazat sessiony, ale nevim si rady stim jak získat všechny sessiony kde mohl být uživatel obsažen. Existuje na toto nějaké řešení ? :)

Předem díky za odpovědi :)

Marek Bartoš
Nette Blogger | 1165
+
+4
-

Můžeš implementovat IdentityHandler, se kterým při každém requestu obnovíš identitu uživatele nebo ji smažeš, čímž ho odhlásíš.Pak už je na tobě, podle jakých pravidel ho odhlásíš. Standardní možnost je si, třeba v databázi, evidovat seznam všech aktivních přihlášení. Jestliže v tabulce není, zrušíš jej.

https://blog.nette.org/…security-3-1#…

Polki
Člen | 553
+
0
-

Jak zamezit, aby se databazova tabulka neplnila, pokud by byl uzivatel paranoik a prihlasoval se vzdy pres anonymni rezim, coz by generovalo nove sessionId a tedy nove spojeni?

Kamil Valenta
Člen | 758
+
0
-

Na session id bych se nespoléhal a uchovával bych fingerprint daného zařízení. A v tabulce stačí uchovávat jen to aktivní zařízení, ta neaktivní se po odhlášení mohou promazat.