私のWebアプリケーションでは
1.1ユーザーがブラウザを突然閉じると、セッションを閉じなければなりません。
1.2. ユーザーが「新しいタブで開く」を試みると、ユーザーは新しいタブの「ログイン ページ」に転送されます。
JAVASCRIPT と AJAX を使用して、これを JSPX に実装する予定です。
私はjavascript/ajaxが初めてなので、上記を実装するサンプルコードを共有できますか?
私のWebアプリケーションでは
1.1ユーザーがブラウザを突然閉じると、セッションを閉じなければなりません。
1.2. ユーザーが「新しいタブで開く」を試みると、ユーザーは新しいタブの「ログイン ページ」に転送されます。
JAVASCRIPT と AJAX を使用して、これを JSPX に実装する予定です。
私はjavascript/ajaxが初めてなので、上記を実装するサンプルコードを共有できますか?
これは、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'>
1.1ユーザーがブラウザを突然閉じると、セッションを閉じなければなりません。
それを追跡する信頼できる方法はありません.AJAXを使用してサーバーに継続的にポーリングすることができます.ajax呼び出しの受信を停止した場合は、ブラウザが閉じられたと考えてください.
または、サーバーに閉じることを通知するJavaScriptメソッドを呼び出しますが、これは奇妙なシャットダウン/クラッシュでは機能しません
1.2. ユーザーが「新しいタブで開く」を試みると、ユーザーは新しいタブの「ログイン ページ」に転送されます。
ユーザーがログインしていて、ブラウザーの新しいタブの別のセッションを管理したい場合、ブラウザーは Cookie を (すべてのタブとウィンドウ間で) 集中的に管理するため、それは不可能です。そのため、リクエストを送信すると、ヘッダーに Cookie が追加されるため、アプリケーションは識別できなくなります。
URLパラメーターのような他の手法を使用してセッションを管理する場合jSessionId
、それは可能ですが、ユーザーがセッションIDで遊ぶことができるため、100%確実な方法ではありません