Class AbstractSecurityWebApplicationInitializer
- All Implemented Interfaces:
- org.springframework.web.WebApplicationInitializer
DelegatingFilterProxy to use the springSecurityFilterChain before
 any other registered Filter. When used with
 AbstractSecurityWebApplicationInitializer(Class...), it will also register a
 ContextLoaderListener. When used with
 AbstractSecurityWebApplicationInitializer(), this class is typically used in
 addition to a subclass of AbstractContextLoaderInitializer.
 
 By default the DelegatingFilterProxy is registered without support, but can be
 enabled by overriding isAsyncSecuritySupported() and
 getSecurityDispatcherTypes().
 
 Additional configuration before and after the springSecurityFilterChain can be added by
 overriding afterSpringSecurityFilterChain(ServletContext).
 
Caveats
 Subclasses of AbstractDispatcherServletInitializer will register their filters before
 any other Filter. This means that you will typically want to ensure subclasses
 of AbstractDispatcherServletInitializer are invoked first. This can be done by ensuring
 the Order or Ordered of AbstractDispatcherServletInitializer are sooner
 than subclasses of AbstractSecurityWebApplicationInitializer.
 
- 
Field SummaryFields
- 
Constructor SummaryConstructorsModifierConstructorDescriptionprotectedCreates a new instance that assumes the Spring Security configuration is loaded by some other means than this class.protectedAbstractSecurityWebApplicationInitializer(Class<?>... configurationClasses) Creates a new instance that will instantiate theContextLoaderListenerwith the specified classes.
- 
Method SummaryModifier and TypeMethodDescriptionprotected voidafterSpringSecurityFilterChain(jakarta.servlet.ServletContext servletContext) Invoked after the springSecurityFilterChain is added.protected final voidappendFilters(jakarta.servlet.ServletContext servletContext, jakarta.servlet.Filter... filters) Inserts the providedFilters after existingFilters using default generated names,getSecurityDispatcherTypes(), andisAsyncSecuritySupported().protected voidbeforeSpringSecurityFilterChain(jakarta.servlet.ServletContext servletContext) Invoked before the springSecurityFilterChain is added.protected booleanOverride this ifHttpSessionEventPublishershould be added as a listener.protected @Nullable StringReturn the <servlet-name> to use the DispatcherServlet'sWebApplicationContextto find theDelegatingFilterProxyor null to use the parentApplicationContext.protected EnumSet<jakarta.servlet.DispatcherType>Get theDispatcherTypefor the springSecurityFilterChain.protected Set<jakarta.servlet.SessionTrackingMode>Determines how a session should be tracked.protected final voidinsertFilters(jakarta.servlet.ServletContext servletContext, jakarta.servlet.Filter... filters) Inserts the providedFilters before existingFilters using default generated names,getSecurityDispatcherTypes(), andisAsyncSecuritySupported().protected booleanDetermine if the springSecurityFilterChain should be marked as supporting async.final voidonStartup(jakarta.servlet.ServletContext servletContext) 
- 
Field Details- 
DEFAULT_FILTER_NAME- See Also:
 
 
- 
- 
Constructor Details- 
AbstractSecurityWebApplicationInitializerprotected AbstractSecurityWebApplicationInitializer()Creates a new instance that assumes the Spring Security configuration is loaded by some other means than this class. For example, a user might create aContextLoaderListenerusing a subclass ofAbstractContextLoaderInitializer.- See Also:
- 
- ContextLoaderListener
 
 
- 
AbstractSecurityWebApplicationInitializerCreates a new instance that will instantiate theContextLoaderListenerwith the specified classes.- Parameters:
- configurationClasses-
 
 
- 
- 
Method Details- 
onStartuppublic final void onStartup(jakarta.servlet.ServletContext servletContext) - Specified by:
- onStartupin interface- org.springframework.web.WebApplicationInitializer
 
- 
enableHttpSessionEventPublisherprotected boolean enableHttpSessionEventPublisher()Override this ifHttpSessionEventPublishershould be added as a listener. This should be true, if session management has specified a maximum number of sessions.- Returns:
- true to add HttpSessionEventPublisher, else false
 
- 
insertFiltersprotected final void insertFilters(jakarta.servlet.ServletContext servletContext, jakarta.servlet.Filter... filters) Inserts the providedFilters before existingFilters using default generated names,getSecurityDispatcherTypes(), andisAsyncSecuritySupported().- Parameters:
- servletContext- the- ServletContextto use
- filters- the- Filters to register
 
- 
appendFiltersprotected final void appendFilters(jakarta.servlet.ServletContext servletContext, jakarta.servlet.Filter... filters) Inserts the providedFilters after existingFilters using default generated names,getSecurityDispatcherTypes(), andisAsyncSecuritySupported().- Parameters:
- servletContext- the- ServletContextto use
- filters- the- Filters to register
 
- 
getSessionTrackingModesDetermines how a session should be tracked. By default,SessionTrackingMode.COOKIEis used.Note that SessionTrackingMode.URLis intentionally omitted to help protected against session fixation attacks.SessionTrackingMode.SSLis omitted because SSL configuration is required for this to work.Subclasses can override this method to make customizations. - Returns:
 
- 
getDispatcherWebApplicationContextSuffixReturn the <servlet-name> to use the DispatcherServlet'sWebApplicationContextto find theDelegatingFilterProxyor null to use the parentApplicationContext.For example, if you are using AbstractDispatcherServletInitializer or AbstractAnnotationConfigDispatcherServletInitializer and using the provided Servlet name, you can return "dispatcher" from this method to use the DispatcherServlet's WebApplicationContext.- Returns:
- the <servlet-name> of the DispatcherServlet to use its
 WebApplicationContextor null (default) to use the parentApplicationContext.
 
- 
beforeSpringSecurityFilterChainprotected void beforeSpringSecurityFilterChain(jakarta.servlet.ServletContext servletContext) Invoked before the springSecurityFilterChain is added.- Parameters:
- servletContext- the- ServletContext
 
- 
afterSpringSecurityFilterChainprotected void afterSpringSecurityFilterChain(jakarta.servlet.ServletContext servletContext) Invoked after the springSecurityFilterChain is added.- Parameters:
- servletContext- the- ServletContext
 
- 
getSecurityDispatcherTypesGet theDispatcherTypefor the springSecurityFilterChain.- Returns:
 
- 
isAsyncSecuritySupportedprotected boolean isAsyncSecuritySupported()Determine if the springSecurityFilterChain should be marked as supporting async. Default is true.- Returns:
- true if springSecurityFilterChain should be marked as supporting async
 
 
-