我需要在浏览器选项卡关闭时可靠地在ASP.NET中注销经过身份验证的用户。推荐的解决方案是什么?
由于
答案 0 :(得分:0)
通常,您会在会话结束时执行注销逻辑。但是如果您必须检测页面何时关闭,请使用:
<body onunload="performMyLogoutLogic();">
...
...
</body>
答案 1 :(得分:-1)
您可以使用通用处理程序来终止会话并在此之前调用此方法,如下所示:
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!");
}
}
}