今天开始优化系统,之前是登出系统以后点击浏览器返回按钮,就会退回到系统页面,这是不
符合
安全性的。所以我们要求他点击浏览器返回按钮,立刻跳转到登陆页面。之前做过两个调
查,
发现新浪微博web端是实现了这个功能的,而qq zone则不行。
我们用的是Spring+SpringMVC+
JS。
我一开始想的是从
缓存入手,但是每个页面都不要缓存,即禁止缓存,性能就立刻降了等级,
这是得不偿失的。然后一次性清除所有缓存,没找到合适的方法。
后来网上有禁止浏览器后退的方法。但是用上去,却没效果。
。。。
最后还是回归,将
用户登录信息在登录的时候从后台设到Cookie中,然后在公共导航页进行
判断,登出的时候,在后台删除Cookie。
具体代码:
登录时(java):
Cookie admincookie = new Cookie("backAdmin",name);
admincookie.setMaxAge(-1);
admincookie.setPath("/");
response.addCookie(admincookie);
页面判断(js):
window.onload =
function(){
if(document.cookie.indexOf("backAdmin") < 0){
window.location.href="/back/login.jsp";
}};
登出时(Java):
Cookie [] cookies=request.getCookies();
for(Cookie cookie:cookies){
cookie.setPath("/");
cookie.setMaxAge(0);
response.addCookie(cookie);
}