北京哪家医院皮肤科治白癜风好 https://myyk.familydoctor.com.cn/2831/介于安全考虑,今天客户突然想让页面如果长时间未操作就自动退出登录,网站是用asp.net开发的,这个看似简单的问题其实说难也不难.
主要是网站采用的sso登录,如果session过期则会跳转sso登录页面,而sso是第三方的,是以浏览器为生命周期的,如果没有访问sso退出页面,就会自动登录回来.
而一般asp.net只有设置session超时,不会自己访问退出页面,所以还是得在页面加额外的计时器进去以便超时访问sso退出页面.
一般首先想到的是设置session超时嘛,但这个只是超时,并不会自动退出,那咋办呢,只能在页面通过JavaScript来实现自动退出了.
思路就是通过监听页面的点击事件来判断是否超时,然后跳转到退出登录页面,不废话了,代码如下/p>
varlastOperationTime=newDate().getTime();varopCurrTime=newDate().getTime();//设置超时时间:15分varopTimeOut=*60*15;functionautoLogout(){//定时器间隔10秒检测页面是否长时间无操作setInterval(checkLogout,0);$(document).click(function(){//更新操作时间lastOperationTime=newDate().getTime();});}functioncheckLogout(){opCurrTime=newDate().getTime();//判断无操作超时if(opCurrTime-lastOperationTimeopTimeOut){console.log("超时");//访问退出页面window.top.location="/sso/logout.aspx";}}$(function(){//调用代码autoLogout();});
基本代码就是这样了,适用于asp.netcore/php/java/python开发的页面哟~