lyhzzz 3 maanden geleden
bovenliggende
commit
91066bb546

+ 3 - 0
src/main/java/com/fdkankan/fusion/common/util/RedisKeyUtil.java

@@ -22,5 +22,8 @@ public class RedisKeyUtil {
     public static final String SCENE_VERSION = "scenejson:num:%s";
 
     public static final String loginToken= "manage:login:token:%s";
+
+    public static final String loginTokenTime= "manage:login:token:time:%s";
+
     public static final String loginUserName= "manage:login:userName:%s";
 }

+ 7 - 4
src/main/java/com/fdkankan/fusion/config/SaTokenConfigure.java

@@ -148,13 +148,16 @@ public class SaTokenConfigure {
         ManageLoginResponse result = JSONObject.parseObject(userStr,ManageLoginResponse.class);
         Long userId = result.getUserId();
         if(userId == null || result.getStatus() == 0){
-            String redisKey2 = String.format(RedisKeyUtil.loginUserName,result.getUserName());
             redisUtil.del(redisKey);
-            redisUtil.del(redisKey2);
             throw new BusinessException(ResultCode.USERNAME_ERROR);
         }
-
-        redisUtil.expire(redisKey,2 * 60 * 60);
+        String redisKeyTime = String.format(RedisKeyUtil.loginTokenTime,StpUtil.getTokenValue());
+        if(redisUtil.hasKey(redisKeyTime)){
+            redisUtil.expire(redisKey,Integer.valueOf(redisUtil.get(redisKeyTime)));
+            redisUtil.expire(redisKeyTime,Integer.valueOf(redisUtil.get(redisKeyTime)));
+        }else {
+            redisUtil.expire(redisKey,2 * 60 * 60);
+        }
     }
 
     private void checkCaseAuth(String caseId,String pageType) {