Przeglądaj źródła

Merge branch 'system-zyj' of uskycloud/usky-cloud into system-165

hanzhengyi 9 miesięcy temu
rodzic
commit
63e4cc0b30

+ 2 - 2
base-modules/service-system/service-system-biz/src/main/java/com/usky/system/controller/web/TokenController.java

@@ -165,12 +165,12 @@ public class TokenController {
 //    }
 
     @DeleteMapping("logout")
-    public ApiResult<?> logout(HttpServletRequest request) {
+    public ApiResult<?> logout(HttpServletRequest request,@RequestParam(value = "openId",required = false) String openId) {
         String token = SecurityUtils.getToken(request);
         if (StringUtils.isNotEmpty(token)) {
             String username = JwtUtils.getUserName(token);
             // 删除用户缓存记录
-            AuthUtil.logoutByToken(token);
+            AuthUtil.logoutByToken(token,openId);
             // 记录用户退出日志
             sysLoginService.logout(SecurityUtils.getTenantId(),username);
         }

+ 3 - 3
usky-common/usky-common-security/src/main/java/com/usky/common/security/auth/AuthLogic.java

@@ -43,15 +43,15 @@ public class AuthLogic
         {
             return;
         }
-        logoutByToken(token);
+        logoutByToken(token,"");
     }
 
     /**
      * 会话注销,根据指定Token
      */
-    public void logoutByToken(String token)
+    public void logoutByToken(String token,String openId)
     {
-        tokenService.delLoginUser(token);
+        tokenService.delLoginUser(token,openId);
     }
 
     /**

+ 2 - 2
usky-common/usky-common-security/src/main/java/com/usky/common/security/auth/AuthUtil.java

@@ -29,9 +29,9 @@ public class AuthUtil
      * 
      * @param tokenValue 指定token
      */
-    public static void logoutByToken(String token)
+    public static void logoutByToken(String token,String openId)
     {
-        authLogic.logoutByToken(token);
+        authLogic.logoutByToken(token,openId);
     }
 
     /**

+ 7 - 1
usky-common/usky-common-security/src/main/java/com/usky/common/security/service/TokenService.java

@@ -124,11 +124,17 @@ public class TokenService {
     /**
      * 删除用户缓存信息
      */
-    public void delLoginUser(String token) {
+    public void delLoginUser(String token,String openId) {
         if (StringUtils.isNotEmpty(token)) {
             String userkey = JwtUtils.getUserKey(token);
             redisService.delete(getTokenKey(userkey));
         }
+        if((openId != null) && (StringUtils.isNotBlank(openId))){
+            String userKey = LOGIN_OPENID+openId;
+            if(redisService.hasKey(userKey)){
+                redisService.delete(userKey);
+            }
+        }
     }
 
     /**