From e31947f690e1d93e03e22d1a05b1f50c0159b254 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Thu, 28 May 2026 15:45:27 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20=E8=BF=9C=E7=A8=8B?= =?UTF-8?q?=E8=B0=83=E7=94=A8=E6=89=8B=E5=8A=A8=E4=BD=BF=E7=94=A8=E8=99=9A?= =?UTF-8?q?=E6=8B=9F=E7=BA=BF=E7=A8=8B=E5=AF=BC=E8=87=B4=E4=B8=8A=E4=B8=8B?= =?UTF-8?q?=E6=96=87=E4=B8=A2=E5=A4=B1=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/SecurityConfiguration.java | 25 ------------------- .../dromara/gateway/filter/AuthFilter.java | 2 +- .../impl/FlwTaskAssigneeServiceImpl.java | 17 +++---------- 3 files changed, 4 insertions(+), 40 deletions(-) diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/org/dromara/common/security/config/SecurityConfiguration.java b/ruoyi-common/ruoyi-common-security/src/main/java/org/dromara/common/security/config/SecurityConfiguration.java index 0115b73f9..92c9e0012 100644 --- a/ruoyi-common/ruoyi-common-security/src/main/java/org/dromara/common/security/config/SecurityConfiguration.java +++ b/ruoyi-common/ruoyi-common-security/src/main/java/org/dromara/common/security/config/SecurityConfiguration.java @@ -2,26 +2,20 @@ package org.dromara.common.security.config; import cn.dev33.satoken.SaManager; import cn.dev33.satoken.filter.SaServletFilter; -import cn.dev33.satoken.filter.SaTokenContextFilterForJakartaServlet; import cn.dev33.satoken.httpauth.basic.SaHttpBasicUtil; import cn.dev33.satoken.interceptor.SaInterceptor; import cn.dev33.satoken.same.SaSameUtil; import cn.dev33.satoken.util.SaResult; import cn.dev33.satoken.util.SaTokenConsts; -import jakarta.servlet.DispatcherType; import jakarta.servlet.http.HttpServletResponse; import org.dromara.common.core.constant.HttpStatus; import org.dromara.common.core.utils.ServletUtils; import org.dromara.common.core.utils.SpringUtils; import org.springframework.boot.autoconfigure.AutoConfiguration; -import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; -import org.springframework.core.Ordered; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -import java.util.EnumSet; - /** * 权限安全配置 * @@ -30,25 +24,6 @@ import java.util.EnumSet; @AutoConfiguration public class SecurityConfiguration implements WebMvcConfigurer { - /** - * 重新注册 Sa-Token 上下文过滤器,使其覆盖 Servlet 异步分发。 - * - * @param filter Sa-Token 官方上下文过滤器 - * @return 过滤器注册配置 - */ - @Bean - public FilterRegistrationBean saTokenContextFilterRegistration( - SaTokenContextFilterForJakartaServlet filter) { - FilterRegistrationBean registration = new FilterRegistrationBean<>(); - registration.setFilter(filter); - registration.setName("saTokenContextFilterForServlet"); - registration.addUrlPatterns("/*"); - registration.setDispatcherTypes(EnumSet.of(DispatcherType.REQUEST, DispatcherType.ASYNC, DispatcherType.ERROR)); - registration.setAsyncSupported(true); - registration.setOrder(Ordered.HIGHEST_PRECEDENCE); - return registration; - } - /** * 注册sa-token的拦截器 */ diff --git a/ruoyi-gateway/src/main/java/org/dromara/gateway/filter/AuthFilter.java b/ruoyi-gateway/src/main/java/org/dromara/gateway/filter/AuthFilter.java index 8d5574638..431477ce0 100644 --- a/ruoyi-gateway/src/main/java/org/dromara/gateway/filter/AuthFilter.java +++ b/ruoyi-gateway/src/main/java/org/dromara/gateway/filter/AuthFilter.java @@ -47,7 +47,7 @@ public class AuthFilter implements WebMvcConfigurer { } /** - * 重新注册 Sa-Token 上下文过滤器,使其覆盖 Servlet 异步分发。 + * 重新注册 Sa-Token 上下文过滤器,使其覆盖网关 SSE/WebSocket 异步分发。 * * @param filter Sa-Token 官方上下文过滤器 * @return 过滤器注册配置 diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskAssigneeServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskAssigneeServiceImpl.java index 09a6de157..2906923a1 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskAssigneeServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskAssigneeServiceImpl.java @@ -12,7 +12,6 @@ import org.apache.dubbo.config.annotation.DubboReference; import org.dromara.common.core.utils.DateUtils; import org.dromara.common.core.utils.StreamUtils; import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.core.utils.ThreadUtils; import org.dromara.system.api.*; import org.dromara.system.api.domain.bo.RemoteTaskAssigneeBo; import org.dromara.system.api.domain.vo.RemoteDeptVo; @@ -31,7 +30,6 @@ import org.dromara.workflow.service.IFlwTaskAssigneeService; import org.springframework.stereotype.Service; import java.util.*; -import java.util.function.Supplier; import java.util.stream.Collectors; /** @@ -214,25 +212,16 @@ public class FlwTaskAssigneeServiceImpl implements IFlwTaskAssigneeService, Hand } private List getUsersByTypes(Map> typeIdMap) { - List>> suppliers = typeIdMap.entrySet().stream() - .map(entry -> (Supplier>) () -> this.getUsersByType(entry.getKey(), entry.getValue())) - .toList(); - return ThreadUtils.virtualSubmitAll(suppliers).stream() + return typeIdMap.entrySet().stream() + .map(entry -> this.getUsersByType(entry.getKey(), entry.getValue())) .filter(CollUtil::isNotEmpty) .flatMap(Collection::stream) .toList(); } private Map> getNamesByTypes(Map> typeIdMap) { - List types = new ArrayList<>(typeIdMap.keySet()); - List>> suppliers = types.stream() - .map(type -> (Supplier>) () -> this.getNamesByType(type, typeIdMap.get(type))) - .toList(); - List> names = ThreadUtils.virtualSubmitAll(suppliers); Map> nameMap = new EnumMap<>(TaskAssigneeEnum.class); - for (int i = 0; i < types.size(); i++) { - nameMap.put(types.get(i), names.get(i)); - } + typeIdMap.forEach((type, ids) -> nameMap.put(type, this.getNamesByType(type, ids))); return nameMap; }