竹笋

注册

 

发新话题 回复该主题

页面15分钟无操作自动退出登录asp [复制链接]

1#
北京哪家医院皮肤科治白癜风好 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开发的页面哟~

分享 转发
TOP
发新话题 回复该主题