public abstract class AbstractSecurityWebApplicationInitializer extends Object implements 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).
 
 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.
 
| Modifier and Type | Field and Description | 
|---|---|
| static String | DEFAULT_FILTER_NAME | 
| Modifier | Constructor and Description | 
|---|---|
| protected  | AbstractSecurityWebApplicationInitializer()Creates a new instance that assumes the Spring Security configuration is loaded by
 some other means than this class. | 
| protected  | AbstractSecurityWebApplicationInitializer(Class<?>... configurationClasses)Creates a new instance that will instantiate the  ContextLoaderListenerwith
 the specified classes. | 
| Modifier and Type | Method and Description | 
|---|---|
| protected void | afterSpringSecurityFilterChain(javax.servlet.ServletContext servletContext)Invoked after the springSecurityFilterChain is added. | 
| protected void | appendFilters(javax.servlet.ServletContext servletContext,
             javax.servlet.Filter... filters)Inserts the provided  Filters after existingFilters using default
 generated names,getSecurityDispatcherTypes(), andisAsyncSecuritySupported(). | 
| protected void | beforeSpringSecurityFilterChain(javax.servlet.ServletContext servletContext)Invoked before the springSecurityFilterChain is added. | 
| protected boolean | enableHttpSessionEventPublisher()Override this if  HttpSessionEventPublishershould be added as a listener. | 
| protected String | getDispatcherWebApplicationContextSuffix()Return the <servlet-name> to use the DispatcherServlet's
  WebApplicationContextto find theDelegatingFilterProxyor null to
 use the parentApplicationContext. | 
| protected EnumSet<javax.servlet.DispatcherType> | getSecurityDispatcherTypes()Get the  DispatcherTypefor the springSecurityFilterChain. | 
| protected Set<javax.servlet.SessionTrackingMode> | getSessionTrackingModes()Determines how a session should be tracked. | 
| protected void | insertFilters(javax.servlet.ServletContext servletContext,
             javax.servlet.Filter... filters)Inserts the provided  Filters before existingFilters using default
 generated names,getSecurityDispatcherTypes(), andisAsyncSecuritySupported(). | 
| protected boolean | isAsyncSecuritySupported()Determine if the springSecurityFilterChain should be marked as supporting asynch. | 
| void | onStartup(javax.servlet.ServletContext servletContext) | 
public static final String DEFAULT_FILTER_NAME
protected AbstractSecurityWebApplicationInitializer()
ContextLoaderListener using a subclass of
 AbstractContextLoaderInitializer.ContextLoaderListenerprotected AbstractSecurityWebApplicationInitializer(Class<?>... configurationClasses)
ContextLoaderListener with
 the specified classes.configurationClasses - public final void onStartup(javax.servlet.ServletContext servletContext)
                     throws javax.servlet.ServletException
onStartup in interface WebApplicationInitializerjavax.servlet.ServletExceptionprotected boolean enableHttpSessionEventPublisher()
HttpSessionEventPublisher should be added as a listener.
 This should be true, if session management has specified a maximum number of
 sessions.HttpSessionEventPublisher, else falseprotected final void insertFilters(javax.servlet.ServletContext servletContext,
                                   javax.servlet.Filter... filters)
Filters before existing Filters using default
 generated names, getSecurityDispatcherTypes(), and
 isAsyncSecuritySupported().servletContext - the ServletContext to usefilters - the Filters to registerprotected final void appendFilters(javax.servlet.ServletContext servletContext,
                                   javax.servlet.Filter... filters)
Filters after existing Filters using default
 generated names, getSecurityDispatcherTypes(), and
 isAsyncSecuritySupported().servletContext - the ServletContext to usefilters - the Filters to registerprotected Set<javax.servlet.SessionTrackingMode> getSessionTrackingModes()
SessionTrackingMode.COOKIE is used.
 
 Note that SessionTrackingMode.URL is intentionally omitted to help
 protected against session
 fixation attacks. SessionTrackingMode.SSL is omitted because SSL
 configuration is required for this to work.
 
Subclasses can override this method to make customizations.
protected String getDispatcherWebApplicationContextSuffix()
WebApplicationContext to find the DelegatingFilterProxy or null to
 use the parent ApplicationContext.
 
 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.
 
WebApplicationContext or null (default) to use the parent
 ApplicationContext.protected void beforeSpringSecurityFilterChain(javax.servlet.ServletContext servletContext)
servletContext - the ServletContextprotected void afterSpringSecurityFilterChain(javax.servlet.ServletContext servletContext)
servletContext - the ServletContextprotected EnumSet<javax.servlet.DispatcherType> getSecurityDispatcherTypes()
DispatcherType for the springSecurityFilterChain.protected boolean isAsyncSecuritySupported()