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
    • 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
    • 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
    • requestMatchers

      public C requestMatchers(org.springframework.http.HttpMethod method, String... patterns)

      If the HandlerMappingIntrospector is available in the classpath, maps to 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 HandlerMappingIntrospector is not available, maps to an AntPathRequestMatcher.

      If a specific RequestMatcher must be specified, use requestMatchers(RequestMatcher...) instead

      Parameters:
      method - the HttpMethod to use or null for any HttpMethod.
      patterns - the patterns to match on. The rules for matching are defined by Spring MVC if MvcRequestMatcher is used
      Returns:
      the object that is chained after creating the RequestMatcher.
      Since:
      5.8
    • requestMatchers

      public C requestMatchers(String... patterns)

      If the HandlerMappingIntrospector is available in the classpath, maps to 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 HandlerMappingIntrospector is not available, maps to an AntPathRequestMatcher.

      If a specific RequestMatcher must be specified, use requestMatchers(RequestMatcher...) instead

      Parameters:
      patterns - the patterns to match on. The rules for matching are defined by Spring MVC if MvcRequestMatcher is used
      Returns:
      the object that is chained after creating the RequestMatcher.
      Since:
      5.8
    • requestMatchers

      public C requestMatchers(org.springframework.http.HttpMethod method)

      If the HandlerMappingIntrospector is available in the classpath, maps to an MvcRequestMatcher that matches on a specific HttpMethod. 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 HandlerMappingIntrospector is not available, maps to an AntPathRequestMatcher.

      If a specific RequestMatcher must be specified, use requestMatchers(RequestMatcher...) instead

      Parameters:
      method - the HttpMethod to use or null for any HttpMethod.
      Returns:
      the object that is chained after creating the RequestMatcher.
      Since:
      5.8
    • 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