Class AntPathRequestMatcher
java.lang.Object
org.springframework.security.web.util.matcher.AntPathRequestMatcher
- All Implemented Interfaces:
RequestMatcher,RequestVariablesExtractor
public final class AntPathRequestMatcher
extends Object
implements RequestMatcher, RequestVariablesExtractor
Matcher which compares a pre-defined ant-style pattern against the URL (
servletPath + pathInfo) of an HttpServletRequest. The query string of
the URL is ignored and matching is case-insensitive or case-sensitive depending on the
arguments passed into the constructor.
Using a pattern value of /** or ** is treated as a universal match,
which will match any request. Patterns which end with /** (and have no other
wildcards) are optimized by using a substring match — a pattern of
/aaa/** will match /aaa, /aaa/ and any sub-directories, such as
/aaa/bbb/ccc.
For all other cases, Spring's AntPathMatcher is used to perform the match. See
the Spring documentation for this class for comprehensive information on the syntax
used.
- Since:
- 3.1
- See Also:
-
AntPathMatcher
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.springframework.security.web.util.matcher.RequestMatcher
RequestMatcher.MatchResult -
Constructor Summary
ConstructorsConstructorDescriptionAntPathRequestMatcher(String pattern) Creates a matcher with the specific pattern which will match all HTTP methods in a case sensitive manner.AntPathRequestMatcher(String pattern, String httpMethod) Creates a matcher with the supplied pattern and HTTP method in a case sensitive manner.AntPathRequestMatcher(String pattern, String httpMethod, boolean caseSensitive) Creates a matcher with the supplied pattern which will match the specified Http methodAntPathRequestMatcher(String pattern, String httpMethod, boolean caseSensitive, org.springframework.web.util.UrlPathHelper urlPathHelper) Creates a matcher with the supplied pattern which will match the specified Http method -
Method Summary
Modifier and TypeMethodDescriptionstatic AntPathRequestMatcherantMatcher(String pattern) Creates a matcher with the specific pattern which will match all HTTP methods in a case-sensitive manner.static AntPathRequestMatcherantMatcher(org.springframework.http.HttpMethod method) Creates a matcher that will match all request with the supplied HTTP method in a case-sensitive manner.static AntPathRequestMatcherantMatcher(org.springframework.http.HttpMethod method, String pattern) Creates a matcher with the supplied pattern and HTTP method in a case-sensitive manner.booleanextractUriTemplateVariables(jakarta.servlet.http.HttpServletRequest request) Deprecated.inthashCode()matcher(jakarta.servlet.http.HttpServletRequest request) Returns a MatchResult for this RequestMatcher The default implementation returnsCollections.emptyMap()whenRequestMatcher.MatchResult.getVariables()is invoked.booleanmatches(jakarta.servlet.http.HttpServletRequest request) Returns true if the configured pattern (and HTTP-Method) match those of the supplied request.toString()
-
Constructor Details
-
AntPathRequestMatcher
Creates a matcher with the specific pattern which will match all HTTP methods in a case sensitive manner.- Parameters:
pattern- the ant pattern to use for matching
-
AntPathRequestMatcher
Creates a matcher with the supplied pattern and HTTP method in a case sensitive manner.- Parameters:
pattern- the ant pattern to use for matchinghttpMethod- the HTTP method. Thematchesmethod will return false if the incoming request doesn't have the same method.
-
AntPathRequestMatcher
Creates a matcher with the supplied pattern which will match the specified Http method- Parameters:
pattern- the ant pattern to use for matchinghttpMethod- the HTTP method. Thematchesmethod will return false if the incoming request doesn't doesn't have the same method.caseSensitive- true if the matcher should consider case, else false
-
AntPathRequestMatcher
public AntPathRequestMatcher(String pattern, String httpMethod, boolean caseSensitive, org.springframework.web.util.UrlPathHelper urlPathHelper) Creates a matcher with the supplied pattern which will match the specified Http method- Parameters:
pattern- the ant pattern to use for matchinghttpMethod- the HTTP method. Thematchesmethod will return false if the incoming request doesn't have the same method.caseSensitive- true if the matcher should consider case, else falseurlPathHelper- if non-null, will be used for extracting the path from the HttpServletRequest
-
-
Method Details
-
antMatcher
Creates a matcher with the specific pattern which will match all HTTP methods in a case-sensitive manner.- Parameters:
pattern- the ant pattern to use for matching- Since:
- 5.8
-
antMatcher
Creates a matcher that will match all request with the supplied HTTP method in a case-sensitive manner.- Parameters:
method- the HTTP method. Thematchesmethod will return false if the incoming request doesn't have the same method.- Since:
- 5.8
-
antMatcher
public static AntPathRequestMatcher antMatcher(org.springframework.http.HttpMethod method, String pattern) Creates a matcher with the supplied pattern and HTTP method in a case-sensitive manner.- Parameters:
method- the HTTP method. Thematchesmethod will return false if the incoming request doesn't have the same method.pattern- the ant pattern to use for matching- Since:
- 5.8
-
matches
public boolean matches(jakarta.servlet.http.HttpServletRequest request) Returns true if the configured pattern (and HTTP-Method) match those of the supplied request.- Specified by:
matchesin interfaceRequestMatcher- Parameters:
request- the request to match against. The ant pattern will be matched against theservletPath+pathInfoof the request.- Returns:
- true if the request matches, false otherwise
-
extractUriTemplateVariables
@Deprecated public Map<String,String> extractUriTemplateVariables(jakarta.servlet.http.HttpServletRequest request) Deprecated.Description copied from interface:RequestVariablesExtractorExtract URL template variables from the request.- Specified by:
extractUriTemplateVariablesin interfaceRequestVariablesExtractor- Parameters:
request- the HttpServletRequest to obtain a URL to extract the variables from- Returns:
- the URL variables or empty if no variables are found
-
matcher
Description copied from interface:RequestMatcherReturns a MatchResult for this RequestMatcher The default implementation returnsCollections.emptyMap()whenRequestMatcher.MatchResult.getVariables()is invoked.- Specified by:
matcherin interfaceRequestMatcher- Returns:
- the MatchResult from comparing this RequestMatcher against the HttpServletRequest
-
getPattern
-
equals
-
hashCode
public int hashCode() -
toString
-