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');
+ }
+ })