クラス AbstractSecurityWebApplicationInitializer

java.lang.ObjectSE
org.springframework.security.web.context.AbstractSecurityWebApplicationInitializer
実装されたすべてのインターフェース:
org.springframework.web.WebApplicationInitializer

public abstract class AbstractSecurityWebApplicationInitializer extends ObjectSE implements 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 のサブクラスよりも早くなるようにすることで実行できます。

  • フィールドの詳細

  • コンストラクターの詳細

    • AbstractSecurityWebApplicationInitializer

      protected AbstractSecurityWebApplicationInitializer()
      このクラス以外の方法で Spring Security 構成がロードされることを前提とする新しいインスタンスを作成します。例: ユーザーは AbstractContextLoaderInitializer のサブクラスを使用して ContextLoaderListener を作成する場合があります。
      関連事項:
      • ContextLoaderListener
    • AbstractSecurityWebApplicationInitializer

      protected AbstractSecurityWebApplicationInitializer(ClassSE<?>... configurationClasses)
      指定されたクラスで ContextLoaderListener をインスタンス化する新しいインスタンスを作成します。
      パラメーター:
      configurationClasses -
  • メソッドの詳細

    • onStartup

      public final void onStartup(jakarta.servlet.ServletContext servletContext)
      次で指定:
      インターフェース org.springframework.web.WebApplicationInitializeronStartup 
    • 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

      protected SetSE<jakarta.servlet.SessionTrackingMode> getSessionTrackingModes()
      セッションを追跡する方法を決定します。デフォルトでは、SessionTrackingMode.COOKIE が使用されます。

      SessionTrackingMode.URL は、セッション固定攻撃から保護するために意図的に省略されていることに注意してください。これが機能するには SSL 構成が必要であるため、SessionTrackingMode.SSL は省略されています。

      サブクラスは、このメソッドをオーバーライドしてカスタマイズを行うことができます。

      戻り値:
    • getDispatcherWebApplicationContextSuffix

      protected StringSE 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

      protected EnumSetSE<jakarta.servlet.DispatcherType> getSecurityDispatcherTypes()
      springSecurityFilterChain の DispatcherType を取得します。
      戻り値:
    • isAsyncSecuritySupported

      protected boolean isAsyncSecuritySupported()
      springSecurityFilterChain をサポートする非同期としてマークする必要があるかどうかを決定します。デフォルトは true です。
      戻り値:
      springSecurityFilterChain を非同期をサポートするものとしてマークする必要がある場合は true