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

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
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.springframework.security.web.util.matcher.RequestMatcher

    org.springframework.security.web.util.matcher.RequestMatcher.MatchResult
  • Constructor Summary

    Constructors
    Constructor
    Description
    ApplicationContextRequestMatcher(Class<? extends C> contextClass)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected boolean
    ignoreApplicationContext(org.springframework.web.context.WebApplicationContext webApplicationContext)
    Returns if the WebApplicationContext should be ignored and not used for matching.
    protected void
    Method that can be implemented by subclasses that wish to initialize items the first time that the matcher is called.
    final boolean
    matches(jakarta.servlet.http.HttpServletRequest request)
     
    protected abstract boolean
    matches(jakarta.servlet.http.HttpServletRequest request, Supplier<C> context)
    Decides whether the rule implemented by the strategy matches the supplied request.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.springframework.security.web.util.matcher.RequestMatcher

    matcher
  • Constructor Details

    • ApplicationContextRequestMatcher

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

    • matches

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

      protected boolean ignoreApplicationContext(org.springframework.web.context.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(jakarta.servlet.http.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