クラス 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.StringDEFAULT_FILTER_NAME
    • コンストラクターのサマリー

      コンストラクター  
      修飾子 コンストラクター 説明
      protected AbstractSecurityWebApplicationInitializer()
      このクラス以外の方法で Spring Security 構成がロードされることを前提とする新しいインスタンスを作成します。
      protected AbstractSecurityWebApplicationInitializer​(java.lang.Class<?>... configurationClasses)
      指定されたクラスで ContextLoaderListener をインスタンス化する新しいインスタンスを作成します。
    • メソッドのサマリー

      すべてのメソッド   インスタンスメソッド   具象メソッド  
      修飾子と型 メソッド 説明
      protected voidafterSpringSecurityFilterChain​(javax.servlet.ServletContext servletContext)
      springSecurityFilterChain が追加された後に呼び出されます。
      protected voidappendFilters​(javax.servlet.ServletContext servletContext, javax.servlet.Filter... filters)
      生成されたデフォルトの名前 getSecurityDispatcherTypes() および isAsyncSecuritySupported() を使用して、既存の Filter の後に提供された Filter を挿入します。
      protected voidbeforeSpringSecurityFilterChain​(javax.servlet.ServletContext servletContext)
      springSecurityFilterChain が追加される前に呼び出されます。
      protected booleanenableHttpSessionEventPublisher()
      HttpSessionEventPublisher をリスナーとして追加する必要がある場合は、これをオーバーライドします。
      protected java.lang.StringgetDispatcherWebApplicationContextSuffix()
      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 voidinsertFilters​(javax.servlet.ServletContext servletContext, javax.servlet.Filter... filters)
      生成されたデフォルトの名前 getSecurityDispatcherTypes() および isAsyncSecuritySupported() を使用して、既存の Filter の前に提供された Filter を挿入します。
      protected booleanisAsyncSecuritySupported()
      springSecurityFilterChain を非同期をサポートするものとしてマークする必要があるかどうかを決定します。
      voidonStartup​(javax.servlet.ServletContext servletContext)
      • クラス java.lang.Object から継承されたメソッド

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • フィールドの詳細

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

      • 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.WebApplicationInitializeronStartup 
      • 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