2

私のWebアプリケーションでは

1.1ユーザーがブラウザを突然閉じると、セッションを閉じなければなりません。

1.2. ユーザーが「新しいタブで開く」を試みると、ユーザーは新しいタブの「ログイン ページ」に転送されます。

JAVASCRIPT と AJAX を使用して、これを JSPX に実装する予定です。

私はjavascript/ajaxが初めてなので、上記を実装するサンプルコードを共有できますか?

4

2 に答える 2

3

これは、HTML の HEAD に次の META タグを追加することで実現できます。これらのタグは、ウィンドウが閉じられると Cookie をクリアします。したがって、ユーザーは次回再ログインする必要があります。

<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>
于 2012-07-26T19:41:18.640 に答える
2

1.1ユーザーがブラウザを突然閉じると、セッションを閉じなければなりません。

それを追跡する信頼できる方法はありません.AJAXを使用してサーバーに継続的にポーリングすることができます.ajax呼び出しの受信を停止した場合は、ブラウザが閉じられたと考えてください.

または、サーバーに閉じることを通知するJavaScriptメソッドを呼び出しますが、これは奇妙なシャットダウン/クラッシュでは機能しません

1.2. ユーザーが「新しいタブで開く」を試みると、ユーザーは新しいタブの「ログイン ページ」に転送されます。

ユーザーがログインしていて、ブラウザーの新しいタブの別のセッションを管理したい場合、ブラウザーは Cookie を (すべてのタブとウィンドウ間で) 集中的に管理するため、それは不可能です。そのため、リクエストを送信すると、ヘッダーに Cookie が追加されるため、アプリケーションは識別できなくなります。

URLパラメーターのような他の手法を使用してセッションを管理する場合jSessionId、それは可能ですが、ユーザーがセッションIDで遊ぶことができるため、100%確実な方法ではありません

于 2012-07-10T10:53:18.837 に答える