Мне нужно надежно выйти из системы аутентифицированного пользователя в 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!");
}
}
}