Class AbstractRequestMatcherRegistry<C>

java.lang.Object
org.springframework.security.config.annotation.web.AbstractRequestMatcherRegistry<C>
Type Parameters:
C - The object that is returned or Chained after creating the RequestMatcher
Direct Known Subclasses:
AbstractConfigAttributeRequestMatcherRegistry, AuthorizeHttpRequestsConfigurer.AuthorizationManagerRequestMatcherRegistry, HttpSecurity.RequestMatcherConfigurer, WebSecurity.IgnoredRequestConfigurer

public abstract class AbstractRequestMatcherRegistry<C> extends Object
A base class for registering RequestMatcher's. For example, it might allow for specifying which RequestMatcher require a certain level of authorization.
Since:
3.2
  • Constructor Details

    • AbstractRequestMatcherRegistry

      public AbstractRequestMatcherRegistry()
  • Method Details

    • setApplicationContext

      protected final void setApplicationContext(org.springframework.context.ApplicationContext context)
    • getApplicationContext

      protected final org.springframework.context.ApplicationContext getApplicationContext()
      Gets the ApplicationContext
      Returns:
      the ApplicationContext
    • anyRequest

      public C anyRequest()
      Maps any request.
      Returns:
      the object that is chained after creating the RequestMatcher
    • antMatchers

      public C antMatchers(org.springframework.http.HttpMethod method)
      Maps a List of AntPathRequestMatcher instances.
      Parameters:
      method - the HttpMethod to use for any HttpMethod.
      Returns:
      the object that is chained after creating the RequestMatcher
    • antMatchers

      public C antMatchers(org.springframework.http.HttpMethod method, String... antPatterns)
      Maps a List of AntPathRequestMatcher instances.
      Parameters:
      method - the HttpMethod to use or null for any HttpMethod.
      antPatterns - the ant patterns to create. If null or empty, then matches on nothing.
      Returns:
      the object that is chained after creating the RequestMatcher
    • antMatchers

      public C antMatchers(String... antPatterns)
      Maps a List of AntPathRequestMatcher instances that do not care which HttpMethod is used.
      Parameters:
      antPatterns - the ant patterns to create AntPathRequestMatcher from
      Returns:
      the object that is chained after creating the RequestMatcher
    • mvcMatchers

      public abstract C mvcMatchers(String... mvcPatterns)

      Maps an MvcRequestMatcher that does not care which HttpMethod is used. This matcher will use the same rules that Spring MVC uses for matching. For example, often times a mapping of the path "/path" will match on "/path", "/path/", "/path.html", etc.

      If the current request will not be processed by Spring MVC, a reasonable default using the pattern as a ant pattern will be used.

      Parameters:
      mvcPatterns - the patterns to match on. The rules for matching are defined by Spring MVC
      Returns:
      the object that is chained after creating the RequestMatcher.
    • mvcMatchers

      public abstract C mvcMatchers(org.springframework.http.HttpMethod method, String... mvcPatterns)

      Maps an MvcRequestMatcher that also specifies a specific HttpMethod to match on. This matcher will use the same rules that Spring MVC uses for matching. For example, often times a mapping of the path "/path" will match on "/path", "/path/", "/path.html", etc.

      If the current request will not be processed by Spring MVC, a reasonable default using the pattern as a ant pattern will be used.

      Parameters:
      method - the HTTP method to match on
      mvcPatterns - the patterns to match on. The rules for matching are defined by Spring MVC
      Returns:
      the object that is chained after creating the RequestMatcher.
    • createMvcMatchers

      protected final List<MvcRequestMatcher> createMvcMatchers(org.springframework.http.HttpMethod method, String... mvcPatterns)
      Creates MvcRequestMatcher instances for the method and patterns passed in
      Parameters:
      method - the HTTP method to use or null if any should be used
      mvcPatterns - the Spring MVC patterns to match on
      Returns:
      a List of MvcRequestMatcher instances
    • regexMatchers

      public C regexMatchers(org.springframework.http.HttpMethod method, String... regexPatterns)
      Maps a List of RegexRequestMatcher instances.
      Parameters:
      method - the HttpMethod to use or null for any HttpMethod.
      regexPatterns - the regular expressions to create RegexRequestMatcher from
      Returns:
      the object that is chained after creating the RequestMatcher
    • regexMatchers

      public C regexMatchers(String... regexPatterns)
      Create a List of RegexRequestMatcher instances that do not specify an HttpMethod.
      Parameters:
      regexPatterns - the regular expressions to create RegexRequestMatcher from
      Returns:
      the object that is chained after creating the RequestMatcher
    • dispatcherTypeMatchers

      public C dispatcherTypeMatchers(@Nullable org.springframework.http.HttpMethod method, jakarta.servlet.DispatcherType... dispatcherTypes)
      Maps a List of DispatcherTypeRequestMatcher instances.
      Parameters:
      method - the HttpMethod to use or null for any HttpMethod.
      dispatcherTypes - the dispatcher types to match against
      Returns:
      the object that is chained after creating the RequestMatcher
    • dispatcherTypeMatchers

      public C dispatcherTypeMatchers(jakarta.servlet.DispatcherType... dispatcherTypes)
      Create a List of DispatcherTypeRequestMatcher instances that do not specify an HttpMethod.
      Parameters:
      dispatcherTypes - the dispatcher types to match against
      Returns:
      the object that is chained after creating the RequestMatcher
    • requestMatchers

      public C requestMatchers(RequestMatcher... requestMatchers)
      Associates a list of RequestMatcher instances with the AbstractConfigAttributeRequestMatcherRegistry
      Parameters:
      requestMatchers - the RequestMatcher instances
      Returns:
      the object that is chained after creating the RequestMatcher
    • chainRequestMatchers

      protected abstract C chainRequestMatchers(List<RequestMatcher> requestMatchers)
      Subclasses should implement this method for returning the object that is chained to the creation of the RequestMatcher instances.
      Parameters:
      requestMatchers - the RequestMatcher instances that were created
      Returns:
      the chained Object for the subclass which allows association of something else to the RequestMatcher