1. 问题记录
系统登录登出都是通过token校验的,即登出的原理是 :如果从cookie中获取不到token, 调用ldap拼上系统域名链接 则自动会跳转到ldap登录页,我遇到的问题是不管怎么都清除不掉token
2. 问题排查及解决方案
经过排查发现,浏览器application Cookie中的token来自于一级域名 由于每次我只是删除的二级域名下的cookie值 所以导致无法删除token
javaScript调用下面这个方法可以清除当前站点所有域cookie
// js 清除 当前站点所有域cookie
function delCookie () {
var keys = document.cookie.match(/[^ =;]+(?==)/g)
if (keys) {
for (var i = keys.length; i--;) {
document.cookie = keys[i] + '=0;path=/;expires=' + new Date(0).toUTCString() // 清除当前域名下的,例如:m.baidu.com
document.cookie = keys[i] + '=0;path=/;domain=' + document.domain + ';expires=' + new Date(0).toUTCString() // 清除当前域名下的,例如 .m.baidu.com
document.cookie = keys[i] + '=0;path=/;domain=ratingdog.cn;expires=' + new Date(0).toUTCString() // 清除一级域名下的或指定的,例如 .baidu.com
}
}
}