From a6ac90e29e513b80b7ad881da8e319338021ef8b Mon Sep 17 00:00:00 2001
From: xin <1099200748@qq.com>
Date: Thu, 25 Sep 2025 22:41:40 +0800
Subject: [PATCH] 生产环境配置
---
oying-common/src/main/java/com/oying/config/webConfig/SwaggerConfig.java | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/oying-common/src/main/java/com/oying/config/webConfig/SwaggerConfig.java b/oying-common/src/main/java/com/oying/config/webConfig/SwaggerConfig.java
index 53b8c83..d3d3001 100644
--- a/oying-common/src/main/java/com/oying/config/webConfig/SwaggerConfig.java
+++ b/oying-common/src/main/java/com/oying/config/webConfig/SwaggerConfig.java
@@ -28,6 +28,7 @@
import java.util.Collections;
import java.util.List;
import java.util.Set;
+import java.util.function.Function;
import java.util.stream.Collectors;
/**
@@ -92,7 +93,16 @@
private SecurityContext getContextByPath() {
Set<String> urls = AnonTagUtils.getAllAnonymousUrl(applicationContext);
urls = urls.stream().filter(url -> !url.equals("/")).collect(Collectors.toSet());
- String regExp = "^(?!" + apiPath + String.join("|" + apiPath, urls) + ").*$";
+
+ // 转义特殊字符(包括{})
+ Function<String, String> escapeRegex = str -> str.replaceAll("([.*+?^${}()|\\[\\]\\\\])", "\\\\$1");
+
+ String escapedApiPath = escapeRegex.apply(apiPath);
+ String pattern = urls.stream()
+ .map(escapeRegex) // 转义每个URL中的特殊字符
+ .map(url -> escapedApiPath + url) // 拼接API路径
+ .collect(Collectors.joining("|"));
+ String regExp = "^(?!" + pattern + ").*$";
return SecurityContext.builder()
.securityReferences(defaultAuth())
.operationSelector(o->o.requestMappingPattern()
--
Gitblit v1.9.3