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