From df6e294cbd10fb0b30354d972356b1a7440682f9 Mon Sep 17 00:00:00 2001 From: Charles7c Date: Mon, 4 Aug 2025 20:56:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=BC=93=E5=AD=98=20C?= =?UTF-8?q?RUD=20API=20=E6=9D=83=E9=99=90=E5=89=8D=E7=BC=80=E5=81=B6?= =?UTF-8?q?=E5=8F=91=E6=80=A7=E7=BC=BA=E5=A4=B1=E5=85=83=E7=B4=A0=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/config/satoken/SaTokenConfiguration.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/continew-server/src/main/java/top/continew/admin/config/satoken/SaTokenConfiguration.java b/continew-server/src/main/java/top/continew/admin/config/satoken/SaTokenConfiguration.java index 49db94e8..ee9eb8cf 100644 --- a/continew-server/src/main/java/top/continew/admin/config/satoken/SaTokenConfiguration.java +++ b/continew-server/src/main/java/top/continew/admin/config/satoken/SaTokenConfiguration.java @@ -47,6 +47,7 @@ import top.continew.starter.core.util.validation.CheckUtils; import top.continew.starter.extension.crud.annotation.CrudRequestMapping; import java.util.*; +import java.util.stream.Stream; /** * Sa-Token 配置 @@ -110,7 +111,7 @@ public class SaTokenConfiguration { @EventListener(ApplicationReadyEvent.class) public void configureSaTokenExcludes() { String[] beanNames = applicationContext.getBeanDefinitionNames(); - List additionalExcludes = Arrays.stream(beanNames).parallel().map(beanName -> { + List additionalExcludes = Arrays.stream(beanNames).map(beanName -> { Object bean = applicationContext.getBean(beanName); Class clazz = bean.getClass(); if (AopUtils.isAopProxy(bean)) { @@ -130,10 +131,10 @@ public class SaTokenConfiguration { }).filter(Objects::nonNull).toList(); if (!additionalExcludes.isEmpty()) { // 合并现有的 excludes 和新扫描到的 - List allExcludes = new ArrayList<>(Arrays.asList(properties.getSecurity().getExcludes())); - allExcludes.addAll(additionalExcludes); - // 转回数组 - properties.getSecurity().setExcludes(allExcludes.toArray(new String[0])); + String[] existingExcludes = Optional.ofNullable(properties.getSecurity().getExcludes()).orElse(new String[0]); + String[] combinedExcludes = Stream.concat(Arrays.stream(existingExcludes), additionalExcludes.stream()) + .toArray(String[]::new); + properties.getSecurity().setExcludes(combinedExcludes); } log.debug("缓存 CRUD API 权限前缀完成:{}", CrudApiPermissionPrefixCache.getAll().values()); }