最近项目中需要对普通认证HTTP basic Authorization和摘要认证HTTP Digest authenticatio登录进行注销。搜索到有几篇文章号称ie,Firefox、chrome都可以可以注销,其实根本不能,真是垃圾。这块资料比较少,坑比较多。这个破事儿翻搭来翻搭去有一阵子,后来彻底解决。
①前端:注销可以采用的方法如下,如果有效则不再需要后端处理了:
请在前端js注销处理函数中调用AuthLogout()
function AuthLogout(page) {
if (!page) page = '/';
try {
var agt=navigator.userAgent.toLowerCase();
if (agt.indexOf("msie") != -1 ||agt.indexOf("trident") != -1) {
// IE clear HTTP Authentication
document.execCommand("ClearAuthenticationCache");
}
else {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", page, true);
xmlhttp.setRequestHeader("Authorization", "Basic logout");
xmlhttp.send(null);
}
} catch(e) {
return;
}
return;
}
②后端:我目前后端使用python