Class ApplicationContextRequestMatcher<C>

java.lang.Object
org.springframework.boot.security.servlet.ApplicationContextRequestMatcher<C>
Type Parameters:
C - the type of the context that the match method actually needs to use. Can be an ApplicationContext or a class of an existing bean.
All Implemented Interfaces:
org.springframework.security.web.util.matcher.RequestMatcher
Direct Known Subclasses:
EndpointRequest.EndpointRequestMatcher, EndpointRequest.LinksRequestMatcher, PathRequest.H2ConsoleRequestMatcher, StaticResourceRequest.StaticResourceRequestMatcher

public abstract class ApplicationContextRequestMatcher<C> extends Object implements org.springframework.security.web.util.matcher.RequestMatcher
ApplicationContext backed RequestMatcher. Can work directly with the ApplicationContext, obtain an existing bean or create a new bean that is autowired in the usual way.
Since:
2.0.0
Author:
Phillip Webb
  • Constructor Details

    • ApplicationContextRequestMatcher

      public ApplicationContextRequestMatcher(Class<? extends C> contextClass)
  • Method Details

    • matches

      public final boolean matches(HttpServletRequest request)
      Specified by:
      matches in interface org.springframework.security.web.util.matcher.RequestMatcher
    • ignoreApplicationContext

      protected boolean ignoreApplicationContext(WebApplicationContext webApplicationContext)
      Returns if the WebApplicationContext should be ignored and not used for matching. If this method returns true then the context will not be used and the matches method will return false.
      Parameters:
      webApplicationContext - the candidate web application context
      Returns:
      if the application context should be ignored
      Since:
      2.1.8
    • initialized

      protected void initialized(Supplier<C> context)
      Method that can be implemented by subclasses that wish to initialize items the first time that the matcher is called. This method will be called only once and only if ignoreApplicationContext(WebApplicationContext) returns false. Note that the supplied context will be based on the first request sent to the matcher.
      Parameters:
      context - a supplier for the initialized context (may throw an exception)
      See Also:
    • matches

      protected abstract boolean matches(HttpServletRequest request, Supplier<C> context)
      Decides whether the rule implemented by the strategy matches the supplied request.
      Parameters:
      request - the source request
      context - a supplier for the initialized context (may throw an exception)
      Returns:
      if the request matches