public abstract class AbstractSecurityWebApplicationInitializer
extends java.lang.Object
implements org.springframework.web.WebApplicationInitializerDelegatingFilterProxy を登録して、他の登録済み Filter より先に springSecurityFilterChain を使用します。AbstractSecurityWebApplicationInitializer(Class...) と一緒に使用すると、ContextLoaderListener も登録されます。AbstractSecurityWebApplicationInitializer() と一緒に使用すると、このクラスは通常、AbstractContextLoaderInitializer のサブクラスに加えて使用されます。 デフォルトでは、DelegatingFilterProxy はサポートなしで登録されますが、isAsyncSecuritySupported() および getSecurityDispatcherTypes() をオーバーライドすることで有効にできます。
springSecurityFilterChain の前後の追加構成は、afterSpringSecurityFilterChain(ServletContext) をオーバーライドすることで追加できます。
AbstractDispatcherServletInitializer のサブクラスは、他の Filter の前にフィルターを登録します。これは、通常、AbstractDispatcherServletInitializer のサブクラスが最初に呼び出されるようにする必要があることを意味します。これは、AbstractDispatcherServletInitializer の Order または Ordered が AbstractSecurityWebApplicationInitializer のサブクラスよりも早くなるようにすることで実行できます。
| 修飾子と型 | フィールドと説明 |
|---|---|
static java.lang.String | DEFAULT_FILTER_NAME |
| 修飾子 | コンストラクターと説明 |
|---|---|
protected | AbstractSecurityWebApplicationInitializer() このクラス以外の方法で Spring Security 構成がロードされることを前提とする新しいインスタンスを作成します。 |
protected | AbstractSecurityWebApplicationInitializer(java.lang.Class<?>... configurationClasses) 指定されたクラスで ContextLoaderListener をインスタンス化する新しいインスタンスを作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
protected void | afterSpringSecurityFilterChain(javax.servlet.ServletContext servletContext)springSecurityFilterChain が追加された後に呼び出されます。 |
protected void | appendFilters(javax.servlet.ServletContext servletContext, javax.servlet.Filter... filters) 生成されたデフォルトの名前 getSecurityDispatcherTypes() および isAsyncSecuritySupported() を使用して、既存の Filter の後に提供された Filter を挿入します。 |
protected void | beforeSpringSecurityFilterChain(javax.servlet.ServletContext servletContext)springSecurityFilterChain が追加される前に呼び出されます。 |
protected boolean | enableHttpSessionEventPublisher()HttpSessionEventPublisher をリスナーとして追加する必要がある場合は、これをオーバーライドします。 |
protected java.lang.String | getDispatcherWebApplicationContextSuffix()DispatcherServlet の WebApplicationContext を使用して DelegatingFilterProxy を見つけるには <servlet-name> を返すか、親 ApplicationContext を使用するには null を返します。 |
protected java.util.EnumSet<javax.servlet.DispatcherType> | getSecurityDispatcherTypes()springSecurityFilterChain の代わりに DispatcherType を取得します。 |
protected java.util.Set<javax.servlet.SessionTrackingMode> | getSessionTrackingModes() セッションを追跡する方法を決定します。 |
protected void | insertFilters(javax.servlet.ServletContext servletContext, javax.servlet.Filter... filters) 生成されたデフォルトの名前 getSecurityDispatcherTypes() および isAsyncSecuritySupported() を使用して、既存の Filter の前に提供された Filter を挿入します。 |
protected boolean | isAsyncSecuritySupported()springSecurityFilterChain を非同期をサポートするものとしてマークする必要があるかどうかを決定します。 |
void | onStartup(javax.servlet.ServletContext servletContext) |
public static final java.lang.String DEFAULT_FILTER_NAME
protected AbstractSecurityWebApplicationInitializer()
AbstractContextLoaderInitializer のサブクラスを使用して ContextLoaderListener を作成する場合があります。ContextLoaderListenerprotected AbstractSecurityWebApplicationInitializer(java.lang.Class<?>... configurationClasses)
ContextLoaderListener をインスタンス化する新しいインスタンスを作成します。configurationClasses -public final void onStartup(javax.servlet.ServletContext servletContext)
org.springframework.web.WebApplicationInitializer 内の onStartup protected boolean enableHttpSessionEventPublisher()
HttpSessionEventPublisher をリスナーとして追加する必要がある場合は、これをオーバーライドします。セッション管理がセッションの最大数を指定している場合、これは当てはまるはずです。HttpSessionEventPublisher を追加する場合は true、それ以外の場合は falseprotected final void insertFilters(javax.servlet.ServletContext servletContext,
javax.servlet.Filter... filters)getSecurityDispatcherTypes() および isAsyncSecuritySupported() を使用して、既存の Filter の前に提供された Filter を挿入します。servletContext - 使用する ServletContext filters - 登録する Filterprotected final void appendFilters(javax.servlet.ServletContext servletContext,
javax.servlet.Filter... filters)getSecurityDispatcherTypes() および isAsyncSecuritySupported() を使用して、既存の Filter の後に提供された Filter を挿入します。servletContext - 使用する ServletContext filters - 登録する Filterprotected java.util.Set<javax.servlet.SessionTrackingMode> getSessionTrackingModes()
SessionTrackingMode.COOKIE が使用されます。SessionTrackingMode.URL は、セッション固定攻撃から保護するために意図的に省略されていることに注意してください。これが機能するには SSL 構成が必要であるため、SessionTrackingMode.SSL は省略されています。
サブクラスは、このメソッドをオーバーライドしてカスタマイズを行うことができます。
protected java.lang.String getDispatcherWebApplicationContextSuffix()
WebApplicationContext を使用して DelegatingFilterProxy を見つけるには <servlet-name> を返すか、親 ApplicationContext を使用するには null を返します。 例: AbstractDispatcherServletInitializer または AbstractAnnotationConfigDispatcherServletInitializer を使用していて、提供されたサーブレット名を使用している場合、このメソッドから「ディスパッチャー」を返し、DispatcherServlet の WebApplicationContext を使用できます。
WebApplicationContext を使用する場合)または null(デフォルト)を使用して親 ApplicationContext を使用する場合 protected void beforeSpringSecurityFilterChain(javax.servlet.ServletContext servletContext)
servletContext - ServletContextprotected void afterSpringSecurityFilterChain(javax.servlet.ServletContext servletContext)
servletContext - ServletContextprotected java.util.EnumSet<javax.servlet.DispatcherType> getSecurityDispatcherTypes()
DispatcherType を取得します。protected boolean isAsyncSecuritySupported()