Index: ssts-web/src/main/webapp/common/includeExtJsAndCss.jsp =================================================================== diff -u -r29579 -r34472 --- ssts-web/src/main/webapp/common/includeExtJsAndCss.jsp (.../includeExtJsAndCss.jsp) (revision 29579) +++ ssts-web/src/main/webapp/common/includeExtJsAndCss.jsp (.../includeExtJsAndCss.jsp) (revision 34472) @@ -18,6 +18,7 @@ + <% LoginUserData loginUserData = AcegiHelper.getLoginUser(); String messagePromptType = null; @@ -71,6 +72,51 @@ setTimeout(function(){ clearOncontextmenuEvent(); },3000) + //空闲一段时间后没任何操作,强制用户退出系统 + var timer; + var timer2; + var min = 60*1000; + var sessionTimeout = 30; + var interval = 1*min; + var sessionTimeoutForPage; + var sessionTimeoutForHome; + if(sstsConfig.loginSecurirtyConfig && sstsConfig.loginSecurirtyConfig.sessionTimeout){ + sessionTimeout = parseInt(sstsConfig.loginSecurirtyConfig.sessionTimeout); + interval = sessionTimeout*min / 10; + } + if(document.location.href !== top.document.location.href){ + setIntervalFunction(sessionTimeout*min,'page'); + }else { + setIntervalFunction(sessionTimeout*min,'home'); + } + function setIntervalFunction(sessionTimeout,pageName){ + if(pageName == 'home'){ + sessionTimeoutForHome = sessionTimeout; + timer = setInterval(function(){ + sessionTimeoutForHome = sessionTimeoutForHome - interval; + if(sessionTimeoutForHome <= 0 && document.location.href == top.document.location.href){ + logout("${ctx}"); + } + },interval) + }else { + sessionTimeoutForPage = sessionTimeout; + timer2 = setInterval(function(){ + sessionTimeoutForPage = sessionTimeoutForPage - interval; + if(sessionTimeoutForPage <= 0 && document.location.href !== top.document.location.href){ + logout("${ctx}"); + } + },interval) + } + } + document.addEventListener('mousemove',function(e){ + clearInterval(timer); + clearInterval(timer2); + if(document.location.href !== top.document.location.href){ + setIntervalFunction(sessionTimeout*min,'page'); + }else { + setIntervalFunction(sessionTimeout*min,'home'); + } + })