2012-10-19 20 views
6

私の要件は少し複雑です。 ユーザーがWebブラウザを使用してデータベースにアクセスしている間に、ユーザーがセッションをログアウトする代わりにアクティブなページを閉じた場合にデータベースにアクセスします。セッションは自動的にログアウトする必要があります。 これをどうやって作ってくれますか? マスターページでjqueryが使用されています。ブラウザがasp .netで閉じるとブラウザからログアウトしますか?

onbeforeunload - メッセージを表示しています。このページを離れたり、このページに留まってください。 ログイン中もこのメッセージが表示され、ホームページも表示されます。

+0

asp.netメンバーシッププロバイダを使用していますか? – th1rdey3

+0

セッションタイムアウトを設定し、そのウィンドウでユーザーがアクティブかどうかを確認する必要があります。例えば、これがgmail(gtalk)で行ったことです。ブラウザが長い間アイドル状態になっていると、自動的にアイドル状態になります。あなたの場合、セッションをクリアする必要があります。インターネットバンキングのサイトは何ですか – kbvishnu

+0

@prabhakaran、あなたは解決策を得ましたか? ? – kbvishnu

答えて

0

ブラウザを閉じるか、ウェブサイト内の別のページに移動しますか?ブラウザが閉じると、セッションは自動的に終了します。

また、global.asaxのsesson_onEndイベントを調べてください。

+0

ブラウザを閉じてもセッションが終了しない – kbvishnu

+0

HTTPはステートレスなので、ブラウザのタブやウィンドウが閉じているかどうかは分かりません。セッションタイムアウトを減らすか、ajaxスクリプトを使ってページが生きているかどうかを確認しながら、ajaxポーリング(簡単な解決策ではない)を使用することができます。 – highwingers

3

これはサンプルコード

window.onbeforeunload = function() { 
    return 'You want to leave?'; 
};​​ 

では、デモhere

私はAJAXリクエストを送信するために、その可能性を考えると、あなたは、ユーザーがブラウザのタブを閉じて、サーバーを見たことができます参照してください。

また、jquery.idleというjqueryプラグインは、ユーザーがアクティブかどうかを識別するために使用されます。

これを参照すると、Detecting idle time in JavaScript elegantlyが表示されます。

関連する問題