he2802 2 lat temu
rodzic
commit
ec7335c704

+ 9 - 7
zhongzheng-framework/src/main/java/com/zhongzheng/framework/security/filter/JwtAuthenticationTokenFilter.java

@@ -56,13 +56,15 @@ public class JwtAuthenticationTokenFilter extends OncePerRequestFilter
             if(StringUtils.isNoneEmpty(wxToken)){
             if(StringUtils.isNoneEmpty(wxToken)){
                 ClientLoginUser clientLoginUser = wxTokenService.getLoginUser(request);
                 ClientLoginUser clientLoginUser = wxTokenService.getLoginUser(request);
                 if(clientLoginUser!=null){
                 if(clientLoginUser!=null){
-                    wxTokenService.verifyToken(clientLoginUser);
-                    UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(clientLoginUser, null,null);
-                    authenticationToken.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));
-                    SecurityContextHolder.getContext().setAuthentication(authenticationToken);
-                }else{
-                    request.getRequestDispatcher("/app/common/token_offline").forward(request, response);
-                    return;
+                    if(Validator.isNull(clientLoginUser.getUser())){
+                        request.getRequestDispatcher("/app/common/token_offline").forward(request, response);
+                        return;
+                    }else{
+                        wxTokenService.verifyToken(clientLoginUser);
+                        UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(clientLoginUser, null,null);
+                        authenticationToken.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));
+                        SecurityContextHolder.getContext().setAuthentication(authenticationToken);
+                    }
                 }
                 }
             }else{
             }else{
                 if(!enabledTenant){
                 if(!enabledTenant){

+ 2 - 2
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/WxTokenService.java

@@ -99,11 +99,11 @@ public class WxTokenService
             // 解析对应的权限以及用户信息
             // 解析对应的权限以及用户信息
             String uuid = (String) claims.get(Constants.WX_LOGIN_USER_KEY);
             String uuid = (String) claims.get(Constants.WX_LOGIN_USER_KEY);
             if(!iUserLoginKeyService.queryByUserKey(uuid)){
             if(!iUserLoginKeyService.queryByUserKey(uuid)){
-                return null;
+                ClientLoginUser errorUser =  new ClientLoginUser();
+                return errorUser;
             }
             }
             String userKey = getTokenKey(uuid);
             String userKey = getTokenKey(uuid);
             ClientLoginUser user = redisCache.getCacheObject(userKey);
             ClientLoginUser user = redisCache.getCacheObject(userKey);
-
             return user;
             return user;
         }
         }
         return null;
         return null;