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; }