クラス AbstractSecurityWebApplicationInitializer
- 実装されているすべてのインターフェース:
org.springframework.web.WebApplicationInitializer
DelegatingFilterProxy を登録して、他の登録済み Filter より先に springSecurityFilterChain を使用します。AbstractSecurityWebApplicationInitializer(Class...) と一緒に使用すると、ContextLoaderListener も登録されます。AbstractSecurityWebApplicationInitializer() と一緒に使用すると、このクラスは通常、AbstractContextLoaderInitializer のサブクラスに加えて使用されます。 デフォルトでは、DelegatingFilterProxy はサポートなしで登録されますが、isAsyncSecuritySupported() および getSecurityDispatcherTypes() をオーバーライドすることで有効にできます。
springSecurityFilterChain の前後の追加構成は、afterSpringSecurityFilterChain(ServletContext) をオーバーライドすることで追加できます。
注意事項
AbstractDispatcherServletInitializer のサブクラスは、他の Filter の前にフィルターを登録します。これは、通常、AbstractDispatcherServletInitializer のサブクラスが最初に呼び出されるようにする必要があることを意味します。これは、AbstractDispatcherServletInitializer の Order または Ordered が AbstractSecurityWebApplicationInitializer のサブクラスよりも早くなるようにすることで実行できます。
フィールドのサマリー
フィールドコンストラクターの概要
コンストラクター修飾子コンストラクター説明protectedこのクラス以外の方法で Spring Security 構成がロードされることを前提とする新しいインスタンスを作成します。protectedAbstractSecurityWebApplicationInitializer(ClassSE<?>... configurationClasses) 指定されたクラスでContextLoaderListenerをインスタンス化する新しいインスタンスを作成します。方法の概要
修飾子と型メソッド説明protected voidafterSpringSecurityFilterChain(jakarta.servlet.ServletContext servletContext) springSecurityFilterChain が追加された後に呼び出されます。protected final voidappendFilters(jakarta.servlet.ServletContext servletContext, jakarta.servlet.Filter... filters) 生成されたデフォルトの名前getSecurityDispatcherTypes()およびisAsyncSecuritySupported()を使用して、既存のFilterの後に提供されたFilterを挿入します。protected voidbeforeSpringSecurityFilterChain(jakarta.servlet.ServletContext servletContext) springSecurityFilterChain が追加される前に呼び出されます。protected booleanHttpSessionEventPublisherをリスナーとして追加する必要がある場合は、これをオーバーライドします。protected StringSEDispatcherServlet のWebApplicationContextを使用してDelegatingFilterProxyを見つけるには <servlet-name> を返すか、親ApplicationContextを使用するには null を返します。protected EnumSetSE<jakarta.servlet.DispatcherType>springSecurityFilterChain の代わりにDispatcherTypeを取得します。protected SetSE<jakarta.servlet.SessionTrackingMode>セッションを追跡する方法を決定します。protected final voidinsertFilters(jakarta.servlet.ServletContext servletContext, jakarta.servlet.Filter... filters) 生成されたデフォルトの名前getSecurityDispatcherTypes()およびisAsyncSecuritySupported()を使用して、既存のFilterの前に提供されたFilterを挿入します。protected booleanspringSecurityFilterChain を非同期をサポートするものとしてマークする必要があるかどうかを決定します。final voidonStartup(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- 使用するServletContextfilters- 登録するFilter
appendFilters
protected final void appendFilters(jakarta.servlet.ServletContext servletContext, jakarta.servlet.Filter... filters) 生成されたデフォルトの名前getSecurityDispatcherTypes()およびisAsyncSecuritySupported()を使用して、既存のFilterの後に提供されたFilterを挿入します。- パラメーター:
servletContext- 使用するServletContextfilters- 登録する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