czh 2 лет назад
Родитель
Сommit
15060f242c

+ 14 - 6
sckw-common/sckw-common-core/src/main/java/com/sckw/core/filter/RequestCheckFilter.java

@@ -22,11 +22,9 @@ import jakarta.servlet.*;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
 import org.springframework.beans.factory.annotation.Autowired;
+
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * @desc: 登录过滤
@@ -106,6 +104,17 @@ public class RequestCheckFilter implements Filter {
             return;
         }
 
+
+        if (loginUserInfo.getIsMain() == Global.YES && Integer.parseInt(systemType) == SystemTypeEnum.MANAGE.getCode()) {
+            LoginUserHolder.set(loginUserInfo);
+            RedissonUtils.putString(Global.getFullUserTokenKey(clientType, userId), token, ClientTypeEnum.expireTime(clientType));
+            RedissonUtils.putString(Global.getFullUserLoginKey(NumberUtils.parseInt(systemType), loginUserInfo.getId()), JSON.toJSONString(loginUserInfo), Global.APP_TOKEN_EXPIRE);
+            RedissonUtils.putString(Global.getFullUserTokenKey(clientType, userId), token, ClientTypeEnum.expireTime(clientType));
+            filterChain.doFilter(servletRequest, servletResponse);
+            LoginUserHolder.remove();
+            return;
+        }
+
         //校验用户账号是否冻结
         if (loginUserInfo.getStatus() == Global.YES) {
             ResponseUtil.writer(response, HttpResult.error(HttpStatus.TOKEN_INVALID_CODE, "您的账号已被冻结,请联系系统管理员!"));
@@ -120,7 +129,7 @@ public class RequestCheckFilter implements Filter {
             return;
         } else {
             //校验用户企业是否冻结
-            if (!SystemTypeEnum.MANAGE.getCode().equals(Integer.parseInt(systemType)) && loginEntInfo.getStatus()  == Global.YES) {
+            if (Objects.isNull(loginEntInfo) || loginEntInfo.getStatus() == Global.YES) {
                 ResponseUtil.writer(response, HttpResult.error(HttpStatus.TOKEN_INVALID_CODE, "您所属企业已被冻结,请联系系统管理员!"));
                 return;
             }
@@ -153,7 +162,6 @@ public class RequestCheckFilter implements Filter {
     }
 
 
-
     /**
      * @param userId 用户菜单权限key  url 当前请求url
      * @return boolean