Autor Zpráva
yenkee
Profil *
Ahoj.

Mám vytvořenou aplikaci, se kterou může pracovat maximálně jeden uživatel v danou chvíli. Když se chci přihlásit a někdo již je přihlášen, tak mě to nedovolí přihlásit se a vypíše se hláška, že již s programem někdo pracuje. Problém ale nastane, pokud uživatel, který s programem již pracuje, ukončí svou práci tím, že prostě zavře okno. Tím pádem se už do programu nedostane nikdo do té doby, než session bude na serveru vymazána. Nenapadá vás nějaky způsob, jak se dá něco podobného vyřešit jinak, než třeba snížením doby platnosti session?

Napadlo mě, jestli by to nešlo přes JavaScript pomocí OnClose. Že by se zavolal jednoduchý skript, který by zrušil session.

Díky.
koudi
Profil
Mam pocit, že zavření okna onClose nevyvolá. Nebo imho alespoň ne spolehlivě všude.

Asi budeš muset nechat tu session prostě vytimeoutovat.
habendorf
Profil
Nejsem si jist, jestli nějaké onclose vůbec existuje. Když už, tak onunload.
Yrrah
Profil
Jo, je to onUnload.

Bohužel, ten se zavolá i při RELOADu stránky, což je pro tohle nevhodné :-(
habendorf
Profil
Jo, je to onUnload

Ne, je to onunload.


Bohužel, ten se zavolá i při RELOADu stránky, což je pro tohle nevhodné :-(

Jj, tohle si musí ošetřit aplikace i bez klienta.
Alphard
Profil
co třeba vložit do stránek javascript, který by se pravidelně hlásil (třeba AJAX) a pak 5 minut bez ohlášení -> logout
Yrrah
Profil
To je ale to samý, co timeout. To už si rovnou může někam ukládat časový razítko posledního přístupu každý session a pravidelně to aktualizovat a odmazávat.
habendorf
Profil
Pochopte, že tohle nelze řešit na úrovni klienta. Když bude mít jeden ze sta vypnutý JS, je celá aplikace v háji.
Toto téma je uzamčeno. Odpověď nelze zaslat.