关闭

html5解决登录超时

512人阅读 评论(0) 收藏 举报
分类:

安全测试,要求应用在用户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);

这样基本实现了登录超时的功能。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6721次
    • 积分:261
    • 等级:
    • 排名:千里之外
    • 原创:20篇
    • 转载:4篇
    • 译文:0篇
    • 评论:0条
    文章分类