クラス AbstractConfiguredSecurityBuilder<O,B extends SecurityBuilder<O>>

java.lang.ObjectSE
org.springframework.security.config.annotation.AbstractSecurityBuilder<O>
org.springframework.security.config.annotation.AbstractConfiguredSecurityBuilder<O,B>
型パラメーター:
O - このビルダーが返すオブジェクト
B - このビルダーの型 (基本クラスによって返される)
実装されているすべてのインターフェース:
SecurityBuilder<O>
既知の直属サブクラス
AuthenticationManagerBuilderHttpSecurityWebSecurity

public abstract class AbstractConfiguredSecurityBuilder<O,B extends SecurityBuilder<O>> extends AbstractSecurityBuilder<O>

SecurityConfigurer を適用できるベース SecurityBuilder。これにより、SecurityBuilder の変更は、SecurityBuilder よりも具体的なゴールを持つ多数の SecurityConfigurer オブジェクトにカスタマイズおよび分割できる戦略になります。

例: SecurityBuilder は DelegatingFilterProxy を構築できますが、SecurityConfigurerSecurityBuilder にセッション管理、フォームベースのログイン、認証などに必要なフィルターを設定します。

関連事項:
  • コンストラクターの詳細

    • AbstractConfiguredSecurityBuilder

      protected AbstractConfiguredSecurityBuilder(ObjectPostProcessor<ObjectSE> objectPostProcessor)
      指定された ObjectPostProcessor を使用して新しいインスタンスを作成します。後処理が可能なオブジェクトには多くの種類があるため、このポストプロセッサーはオブジェクトをサポートする必要があります。
      パラメーター:
      objectPostProcessor - 使用する ObjectPostProcessor
    • AbstractConfiguredSecurityBuilder

      protected AbstractConfiguredSecurityBuilder(ObjectPostProcessor<ObjectSE> objectPostProcessor, boolean allowConfigurersOfSameType)
      指定された ObjectPostProcessor を使用して新しいインスタンスを作成します。後処理が可能なオブジェクトには多くの種類があるため、このポストプロセッサーはオブジェクトをサポートする必要があります。
      パラメーター:
      objectPostProcessor - 使用する ObjectPostProcessor
      allowConfigurersOfSameType - true の場合、適用の実行時に他の SecurityConfigurer をオーバーライドしません
  • メソッドの詳細

    • getOrBuild

      public O getOrBuild()
      SecurityBuilder.build() および AbstractSecurityBuilder.getObject() と同様ですが、状態をチェックして、SecurityBuilder.build() を最初に呼び出す必要があるかどうかを判別します。
      戻り値:
      SecurityBuilder.build() または AbstractSecurityBuilder.getObject() の結果。ビルド中にエラーが発生した場合、null を返します。
    • apply

      public <C extends SecurityConfigurer<O, B>> C apply(C configurer)
      SecurityConfigurer をこの SecurityBuilder に適用して、まったく同じクラスの SecurityConfigurer をオーバーライドします。オブジェクト階層は考慮されないことに注意してください。
      パラメーター:
      configurer -
      戻り値:
      さらにカスタマイズするための SecurityConfigurerAdapter
      例外:
      ExceptionSE
    • with

      public <C extends SecurityConfigurerAdapter<O, B>> B with(C configurer)
      SecurityConfigurerAdapter をこの SecurityBuilder に適用し、SecurityConfigurerAdapter.setBuilder(SecurityBuilder) を呼び出します。

      コンフィギュレータをそのまま適用するためのショートカット、言い換えると  .with(new MyConfigurer())

      と同一である:  .with(new MyConfigurer(), Customizer.withDefaults())

      パラメーター:
      configurer -
      戻り値:
      さらにカスタマイズするための SecurityBuilder
      例外:
      ExceptionSE
      導入:
      7.0
    • with

      public <C extends SecurityConfigurerAdapter<O, B>> B with(C configurer, Customizer<C> customizer)
      パラメーター:
      configurer -
      戻り値:
      さらにカスタマイズするための SecurityBuilder
      例外:
      ExceptionSE
      導入:
      6.2
    • setSharedObject

      public <C> void setSharedObject(ClassSE<C> sharedType, C object)
      複数の SecurityConfigurer によって共有されるオブジェクトを設定します。
      パラメーター:
      sharedType - 共有オブジェクトのキーとなるクラス。
      object - 格納するオブジェクト
    • getSharedObject

      public <C> C getSharedObject(ClassSE<C> sharedType)
      共有オブジェクトを取得します。オブジェクトの階層は考慮されないことに注意してください。
      パラメーター:
      sharedType - 共有オブジェクトの型
      戻り値:
      共有オブジェクト。見つからない場合は null
    • getSharedObjects

      public MapSE<ClassSE<?>,ObjectSE> getSharedObjects()
      共有オブジェクトを取得します
      戻り値:
      共有オブジェクト
    • getConfigurers

      public <C extends SecurityConfigurer<O, B>> ListSE<C> getConfigurers(ClassSE<C> clazz)
      クラス名または見つからない場合は空のリストによって、すべての SecurityConfigurer インスタンスを取得します。オブジェクト階層は考慮されないことに注意してください。
      パラメーター:
      clazz - 検索する SecurityConfigurer クラス
      戻り値:
      さらにカスタマイズするための SecurityConfigurer のリスト
    • removeConfigurers

      public <C extends SecurityConfigurer<O, B>> ListSE<C> removeConfigurers(ClassSE<C> clazz)
      クラス名または見つからない場合は空のリストによって、すべての SecurityConfigurer インスタンスを削除します。オブジェクト階層は考慮されないことに注意してください。
      パラメーター:
      clazz - 検索する SecurityConfigurer クラス
      戻り値:
      さらにカスタマイズするための SecurityConfigurer のリスト
    • getConfigurer

      public <C extends SecurityConfigurer<O, B>> C getConfigurer(ClassSE<C> clazz)
      クラス名または null で SecurityConfigurer を取得します(見つからない場合)。オブジェクト階層は考慮されないことに注意してください。
      パラメーター:
      clazz -
      戻り値:
      さらにカスタマイズするための SecurityConfigurer
    • removeConfigurer

      public <C extends SecurityConfigurer<O, B>> C removeConfigurer(ClassSE<C> clazz)
      クラス名または null が見つからない場合は、SecurityConfigurer を削除して返します。オブジェクト階層は考慮されないことに注意してください。
      パラメーター:
      clazz -
      戻り値:
    • objectPostProcessor

      public B objectPostProcessor(ObjectPostProcessor<ObjectSE> objectPostProcessor)
      使用する ObjectPostProcessor を指定します。
      パラメーター:
      objectPostProcessor - 使用する ObjectPostProcessor。null にはできません
      戻り値:
      さらにカスタマイズするための SecurityBuilder
    • postProcess

      protected <P> P postProcess(P object)
      オブジェクトの後処理を実行します。デフォルトでは、ObjectPostProcessor に委譲します。
      パラメーター:
      object - プロセスをポストするオブジェクト
      戻り値:
      使用する可能性のある変更されたオブジェクト
    • doBuild

      protected final O doBuild()
      次の手順を使用して適用された SecurityConfigurer を使用してビルドを実行します。
      次で指定:
      クラス AbstractSecurityBuilder<O>doBuild 
      戻り値:
      SecurityBuilder.build() によって返されるオブジェクト
    • beforeInit

      protected void beforeInit()
      SecurityConfigurer.init(SecurityBuilder) メソッドを呼び出す前に呼び出されます。サブクラスは、このメソッドをオーバーライドして、SecurityConfigurer を使用せずにライフサイクルにフックできます。
    • beforeConfigure

      protected void beforeConfigure()
      SecurityConfigurer.configure(SecurityBuilder) メソッドを呼び出す前に呼び出されます。サブクラスは、このメソッドをオーバーライドして、SecurityConfigurer を使用せずにライフサイクルにフックできます。
    • performBuild

      protected abstract O performBuild()
      サブクラスはこのメソッドを実装して、返されるオブジェクトを構築する必要があります。
      戻り値:
      Object が buit であるか、実装で許可されている場合は null