最新php菜鸟教程下载
介于安全考虑,今天客户突然想让页面如果长时间未操作就自动退出登录,网站是用asp.net开发的,这个看似简单的问题其实说难也不难.

主要是网站采用的sso登录,如果session过PHP期则会跳转sso登录页面,而sso是第三方的,是以浏览器为生命周期的,如果没有访问sso退出页面,就会自动登录回来.而一般asp.net只有设置session超时,不会自己访问退出页面,所以还是得在页PHP面加额外的计时器进去以便超时访问sso退出页面.
一般首先想到的是设置session超时嘛,但这个只是超时,并不会自动退出,那咋办呢,只能在页面通过JavaScript来实现自动退出了.思路就是通过监听PHP页面的点击事件来判断是否超时,然后跳转到退出登录页面,不废话了,代码如下:
var lastOperationTime = new Date().getTime(); var opCurrTime = PHPnew Date().getTime();//设置超时时间:15分 var opTimeOut =1000* 60* 15; function autoLogout(){ //定时器间隔10秒检测页面PHP是否长时间无操作 setInterval(checkLogout,10000);$(document).click(function (){ //更新操作时间 lastOperationTime = PHPnew Date().getTime();});} function checkLogout(){ opCurrTime = new Date().getTime();//判断无操作超时 if (opPHPCurrTime - lastOperationTime > opTimeOut){ console.log("超时");//访问退出页面 window.top.location ="/sso/logPHPout.aspx";} }$(function (){ //调用代码 autoLogout();});
基本代码就是这样了,适用于asp.net core/php/java/python开发的页面哟~
亲PHP爱的读者们,感谢您花时间阅读本文。如果您对本文有任何疑问或建议,请随时联系我。我非常乐意与您交流。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。