安全测试,要求应用在用户30分钟内不使用的情况下,就让用户重新登录。
首先在登录页面,在登录的方法里面加上这一句
var date_1 = (new Date()).valueOf();//当前的时间戳。
localStorage.setItem("loginTime", date_1);//然后把当前的时间戳存储起来
然后新建一个js文件,在js文件里新建一个function
function checkLoginTime(){
var loginTime =localStorage.getItem
("loginTime");// 把登录时保存的时间戳取出来
var now = (new Date()).valueOf();//得到当前的时间戳
if(now-loginTime>1800000){//将两个时间戳相减,得到的是毫秒,如果超过1800000毫秒,也就是30分钟,就把登录时保存的用户信息清空
localStorage.setItem("userid","");
localStorage.setItem("auth","");
localStorage.setItem("userinfo","");
localStorage.setItem("logined",0);
return false;
}else{
return true;
}
}
最后在页面里引入js文件
代码如下:
var isLogout = checkLoginTime();//执行js文件里面的方法
if(isLogout==false){//登录超时
window.open("你的登录界面");
window.close();//关闭当前的界面
return;
}
var currentTime = (new Date()).valueOf();//用户操作了当前的页面,也就是在离开这个页面后再间隔30分钟,所以需要重新设置当前的时间戳
localStorage.setItem("loginTime",currentTime);
这样基本实现了登录超时的功能。