wangwei 7 лет назад
Родитель
Сommit
b9ee271e84

+ 0 - 1
examcloud-core-basic-api-provider/src/main/java/cn/com/qmth/examcloud/core/basic/api/controller/OrgController.java

@@ -41,7 +41,6 @@ import cn.com.qmth.examcloud.commons.base.exception.StatusException;
 import cn.com.qmth.examcloud.commons.base.util.ErrorMsg;
 import cn.com.qmth.examcloud.commons.base.util.PropertiesUtil;
 import cn.com.qmth.examcloud.commons.base.util.excel.ExcelError;
-import cn.com.qmth.examcloud.commons.web.CommonPropKeys;
 import cn.com.qmth.examcloud.commons.web.security.bean.User;
 import cn.com.qmth.examcloud.commons.web.security.entity.AccessUser;
 import cn.com.qmth.examcloud.commons.web.support.ControllerSupport;

+ 4 - 0
examcloud-core-basic-base/src/main/java/cn/com/qmth/examcloud/core/basic/base/constants/PropKeys.java

@@ -14,4 +14,8 @@ public class PropKeys {
 	 */
 	public static final String SCHOOL_LOGO_PATH = "$croe.basic.resource.schoolLogoPath";
 
+	/**
+	 * session过期时长
+	 */
+	public static final String SESSION_TIMEOUT = "$core.basic.sessionTimeout";
 }

+ 8 - 3
examcloud-core-basic-service/src/main/java/cn/com/qmth/examcloud/core/basic/service/impl/AuthServiceImpl.java

@@ -18,11 +18,11 @@ import cn.com.qmth.examcloud.commons.base.util.PropertiesUtil;
 import cn.com.qmth.examcloud.commons.base.util.SHA256;
 import cn.com.qmth.examcloud.commons.base.util.StringUtil;
 import cn.com.qmth.examcloud.commons.base.util.UUID;
-import cn.com.qmth.examcloud.commons.web.CommonPropKeys;
 import cn.com.qmth.examcloud.commons.web.redis.RedisClient;
 import cn.com.qmth.examcloud.commons.web.security.bean.Role;
 import cn.com.qmth.examcloud.commons.web.security.bean.User;
 import cn.com.qmth.examcloud.commons.web.security.enums.RoleMeta;
+import cn.com.qmth.examcloud.core.basic.base.constants.PropKeys;
 import cn.com.qmth.examcloud.core.basic.base.enums.AccountType;
 import cn.com.qmth.examcloud.core.basic.base.enums.UserType;
 import cn.com.qmth.examcloud.core.basic.dao.OrgRepo;
@@ -184,7 +184,7 @@ public class AuthServiceImpl implements AuthService {
 
 	@Override
 	public User getLoginUser(String key, String token) {
-		int sessionTimeout = PropertiesUtil.getInt(CommonPropKeys.SESSION_TIMEOUT, 3600);
+		int sessionTimeout = PropertiesUtil.getInt(PropKeys.SESSION_TIMEOUT, 3600);
 		User user = redisClient.get(key, User.class, sessionTimeout);
 		if (null == user) {
 			throw new StatusException("P-001012", "未登录");
@@ -275,7 +275,12 @@ public class AuthServiceImpl implements AuthService {
 		user.setKey(key);
 		user.setUserToken(key + ":" + user.getToken());
 
-		int sessionTimeout = PropertiesUtil.getInt(CommonPropKeys.SESSION_TIMEOUT, 3600);
+		int sessionTimeout = PropertiesUtil.getInt(PropKeys.SESSION_TIMEOUT, 3600);
+		Integer sessionTimeoutCache = redisClient.get("$_SESSION_TIMEOUT", Integer.class);
+		if (null == sessionTimeoutCache || (int) sessionTimeoutCache != sessionTimeout) {
+			redisClient.set("$_SESSION_TIMEOUT", sessionTimeout);
+		}
+
 		redisClient.set(key, user, sessionTimeout);
 	}