ブラウザーのタブが閉じられたときに、ASP.NET で認証されたユーザーを確実にサインアウトする必要があります。推奨される解決策は何ですか?
ありがとう
ブラウザーのタブが閉じられたときに、ASP.NET で認証されたユーザーを確実にサインアウトする必要があります。推奨される解決策は何ですか?
ありがとう
通常は、セッションが終了したときにサインアウト ロジックを実行します。ただし、ページが閉じられたことを検出する必要がある場合は、次を使用します。
<body onunload="performMyLogoutLogic();">
...
...
</body>
汎用ハンドラーを使用してセッションを強制終了し、次のようにアンロードする前にこれを呼び出すことができます。
function CloseSession( )
{
location.href = 'KillSession.ashx?task=1';
}
window.onbeforeunload = CloseSession;
そして、KillSession.ashxでこれを行います
public void ProcessRequest(HttpContext context)
{
if(!String.IsNullOrWhiteSpace(Request.QueryString["task"].toString()))
{
if(Request.QueryString["task"].toString()=="1")
{
Session["User"]==null;
context.Response.ContentType = "text/plain";
context.Response.Write("Good Bye!");
}
}
}