如果用户正在关闭标签页,我需要注销用户。我试着通过在onbeforeunload
方法调用一个Ajax功能做到这一点:标签关闭时,AJAX注销不起作用
$(document).ready(function() {
window.onbeforeunload = function() {
if (!validNavigation) { // I set validNavigation = true when user clicks on different internal links etc
LogOff();
}
}
});
var validNavigation = false;
function LogOff() {
$.ajax({
cache: false,
data: { },
dataType: 'json',
url: '/Account/LogOffAjax',
type: 'post',
success: function (resp) {
if (resp.IsSuccessful) {
}
else {
alert(resp.ExceptionKey);
}
},
error: function (data) {
alert('unknown error');
}
});
};
方法,无需内部(由调试器检查)任何异常LogOffAjax来电,但用户停留登录如果我调用此方法时。用户只需点击链接(不关闭标签) - 用户已注销(因此方法正确)。我认为当标签关闭时cookie不能被清除(但是为什么服务器“认为”用户仍然登录很奇怪)。
我该如何解决这个问题?
好的,哪个cookie名称需要清除? –
'.ASPXAUTH' - 应该存在。可以?无论是那个还是'.AspNet.ApplicationCookie',如果你使用的是ASP.NET MVC 5 – damienc88