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