2
0
Эх сурвалжийг харах

SEC-1636: Add optimizations for universal match cases in AntUrlPathMatcher (using "/**" and "**" equality checks on the path).

Luke Taylor 14 жил өмнө
parent
commit
bb3a973fcb

+ 9 - 0
web/src/main/java/org/springframework/security/web/util/AntUrlPathMatcher.java

@@ -5,6 +5,12 @@ import org.springframework.util.AntPathMatcher;
 
 
 /**
 /**
  * Ant path strategy for URL matching.
  * Ant path strategy for URL matching.
+ * <p>
+ * If the path consists of the pattern {@code /**} or {@code **}, it is treated as a universal
+ * match, which wil match any URL.
+ * <p>
+ * For all other cases, Spring's {@code AntPathMatcher} is used to perform the check for a match. See the Spring
+ * documentation for this class for more information on the syntax details.
  *
  *
  * @author Luke Taylor
  * @author Luke Taylor
  */
  */
@@ -33,6 +39,9 @@ public class AntUrlPathMatcher implements UrlMatcher {
     }
     }
 
 
     public boolean pathMatchesUrl(Object path, String url) {
     public boolean pathMatchesUrl(Object path, String url) {
+        if ("/**".equals(path) || "**".equals(path)) {
+            return true;
+        }
         return pathMatcher.match((String)path, url);
         return pathMatcher.match((String)path, url);
     }
     }