From 5033c375a3ee6a63bcb600d5b9f4b8d549d089e2 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 23 四月 2026 19:09:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New_pro' into dev_New_pro
---
src/main/java/com/ruoyi/framework/config/properties/PermitAllUrlProperties.java | 47 +++++++++++++++++++++++++++++++----------------
1 files changed, 31 insertions(+), 16 deletions(-)
diff --git a/src/main/java/com/ruoyi/framework/config/properties/PermitAllUrlProperties.java b/src/main/java/com/ruoyi/framework/config/properties/PermitAllUrlProperties.java
index bc22e20..e2626bd 100644
--- a/src/main/java/com/ruoyi/framework/config/properties/PermitAllUrlProperties.java
+++ b/src/main/java/com/ruoyi/framework/config/properties/PermitAllUrlProperties.java
@@ -1,11 +1,6 @@
package com.ruoyi.framework.config.properties;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.regex.Pattern;
+import com.ruoyi.framework.aspectj.lang.annotation.Anonymous;
import org.apache.commons.lang3.RegExUtils;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.InitializingBean;
@@ -16,7 +11,9 @@
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.mvc.method.RequestMappingInfo;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
-import com.ruoyi.framework.aspectj.lang.annotation.Anonymous;
+
+import java.util.*;
+import java.util.regex.Pattern;
/**
* 璁剧疆Anonymous娉ㄨВ鍏佽鍖垮悕璁块棶鐨剈rl
@@ -40,18 +37,36 @@
RequestMappingHandlerMapping mapping = applicationContext.getBean(RequestMappingHandlerMapping.class);
Map<RequestMappingInfo, HandlerMethod> map = mapping.getHandlerMethods();
+// map.keySet().forEach(info -> {
+// HandlerMethod handlerMethod = map.get(info);
+//
+// // 鑾峰彇鏂规硶涓婅竟鐨勬敞瑙� 鏇夸唬path variable 涓� *
+// Anonymous method = AnnotationUtils.findAnnotation(handlerMethod.getMethod(), Anonymous.class);
+// Optional.ofNullable(method).ifPresent(anonymous -> Objects.requireNonNull(info.getPatternsCondition().getPatterns())
+// .forEach(url -> urls.add(RegExUtils.replaceAll(url, PATTERN, ASTERISK))));
+//
+// // 鑾峰彇绫讳笂杈圭殑娉ㄨВ, 鏇夸唬path variable 涓� *
+// Anonymous controller = AnnotationUtils.findAnnotation(handlerMethod.getBeanType(), Anonymous.class);
+// Optional.ofNullable(controller).ifPresent(anonymous -> Objects.requireNonNull(info.getPatternsCondition().getPatterns())
+// .forEach(url -> urls.add(RegExUtils.replaceAll(url, PATTERN, ASTERISK))));
+// });
+
map.keySet().forEach(info -> {
HandlerMethod handlerMethod = map.get(info);
+ // 鑾峰彇鏂规硶涓婄殑鍖垮悕璁块棶娉ㄨВ
+ Anonymous anonymous = AnnotationUtils.findAnnotation(handlerMethod.getMethod(), Anonymous.class);
+ if (Objects.nonNull(anonymous)) {
+ // 閲嶇偣锛歋pring Boot 3 鍏煎鎬у啓娉�
+ Set<String> patterns = new HashSet<>();
+ if (info.getPatternsCondition() != null) {
+ patterns.addAll(info.getPatternsCondition().getPatterns());
+ }
+ if (info.getPathPatternsCondition() != null) {
+ patterns.addAll(info.getPathPatternsCondition().getPatternValues());
+ }
- // 鑾峰彇鏂规硶涓婅竟鐨勬敞瑙� 鏇夸唬path variable 涓� *
- Anonymous method = AnnotationUtils.findAnnotation(handlerMethod.getMethod(), Anonymous.class);
- Optional.ofNullable(method).ifPresent(anonymous -> Objects.requireNonNull(info.getPatternsCondition().getPatterns())
- .forEach(url -> urls.add(RegExUtils.replaceAll(url, PATTERN, ASTERISK))));
-
- // 鑾峰彇绫讳笂杈圭殑娉ㄨВ, 鏇夸唬path variable 涓� *
- Anonymous controller = AnnotationUtils.findAnnotation(handlerMethod.getBeanType(), Anonymous.class);
- Optional.ofNullable(controller).ifPresent(anonymous -> Objects.requireNonNull(info.getPatternsCondition().getPatterns())
- .forEach(url -> urls.add(RegExUtils.replaceAll(url, PATTERN, ASTERISK))));
+ patterns.forEach(url -> urls.add(RegExUtils.replaceAll(url, PATTERN, "*")));
+ }
});
}
--
Gitblit v1.9.3