クラス AbstractConfiguredSecurityBuilder<O,B extends SecurityBuilder<O>>
- java.lang.Object
-
- org.springframework.security.config.annotation.AbstractSecurityBuilder<O>
-
- org.springframework.security.config.annotation.AbstractConfiguredSecurityBuilder<O,B>
- 型パラメーター:
O
- このビルダーが返すオブジェクトB
- このビルダーの型 (基本クラスによって返される)
- 実装されたすべてのインターフェース:
SecurityBuilder<O>
- 既知の直属サブクラス
AuthenticationManagerBuilder
、HttpSecurity
、WebSecurity
public abstract class AbstractConfiguredSecurityBuilder<O,B extends SecurityBuilder<O>> extends AbstractSecurityBuilder<O>
SecurityConfigurer
を適用できるベースSecurityBuilder
。これにより、SecurityBuilder
の変更は、SecurityBuilder
よりも具体的なゴールを持つ多数のSecurityConfigurer
オブジェクトにカスタマイズおよび分割できる戦略になります。例:
SecurityBuilder
はDelegatingFilterProxy
を構築できますが、SecurityConfigurer
はSecurityBuilder
にセッション管理、フォームベースのログイン、認証などに必要なフィルターを設定します。- 関連事項:
WebSecurity
コンストラクターのサマリー
コンストラクター 修飾子 コンストラクター 説明 protected
AbstractConfiguredSecurityBuilder(ObjectPostProcessor<java.lang.Object> objectPostProcessor)
指定されたObjectPostProcessor
を使用して新しいインスタンスを作成します。protected
AbstractConfiguredSecurityBuilder(ObjectPostProcessor<java.lang.Object> objectPostProcessor, boolean allowConfigurersOfSameType)
指定されたObjectPostProcessor
を使用して新しいインスタンスを作成します。
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 <C extends SecurityConfigurerAdapter<O,B>>
Capply(C configurer)
protected void
beforeConfigure()
各SecurityConfigurer.configure(SecurityBuilder)
メソッドを呼び出す前に呼び出されます。protected void
beforeInit()
各SecurityConfigurer.init(SecurityBuilder)
メソッドを呼び出す前に呼び出されます。protected O
doBuild()
次の手順を使用して適用されたSecurityConfigurer
を使用してビルドを実行します。サブクラスのbeforeInit()
を呼び出して、このビルダーに適用されたSecurityConfigurer
のSecurityConfigurer.init(SecurityBuilder)
を呼び出します。サブクラスのbeforeConfigure()
を呼び出して、実際にオブジェクトを作成するperformBuild()
を呼び出します<C extends SecurityConfigurer<O,B>>
CgetConfigurer(java.lang.Class<C> clazz)
クラス名またはnull
でSecurityConfigurer
を取得します(見つからない場合)。<C extends SecurityConfigurer<O,B>>
java.util.List<C>getConfigurers(java.lang.Class<C> clazz)
クラス名または見つからない場合は空のリストによって、すべてのSecurityConfigurer
インスタンスを取得します。O
getOrBuild()
AbstractSecurityBuilder.build()
およびAbstractSecurityBuilder.getObject()
と同様ですが、状態をチェックして、AbstractSecurityBuilder.build()
を最初に呼び出す必要があるかどうかを判別します。<C> C
getSharedObject(java.lang.Class<C> sharedType)
共有オブジェクトを取得します。java.util.Map<java.lang.Class<?>,java.lang.Object>
getSharedObjects()
共有オブジェクトを取得しますB
objectPostProcessor(ObjectPostProcessor<java.lang.Object> objectPostProcessor)
使用するObjectPostProcessor
を指定します。protected abstract O
performBuild()
サブクラスはこのメソッドを実装して、返されるオブジェクトを構築する必要があります。protected <P> P
postProcess(P object)
オブジェクトの後処理を実行します。<C extends SecurityConfigurer<O,B>>
CremoveConfigurer(java.lang.Class<C> clazz)
クラス名またはnull
が見つからない場合は、SecurityConfigurer
を削除して返します。<C extends SecurityConfigurer<O,B>>
java.util.List<C>removeConfigurers(java.lang.Class<C> clazz)
クラス名または見つからない場合は空のリストによって、すべてのSecurityConfigurer
インスタンスを削除します。<C> void
setSharedObject(java.lang.Class<C> sharedType, C object)
複数のSecurityConfigurer
によって共有されるオブジェクトを設定します。クラス org.springframework.security.config.annotation.AbstractSecurityBuilder から継承されたメソッド
build, getObject
コンストラクターの詳細
AbstractConfiguredSecurityBuilder
protected AbstractConfiguredSecurityBuilder(ObjectPostProcessor<java.lang.Object> objectPostProcessor)
指定されたObjectPostProcessor
を使用して新しいインスタンスを作成します。後処理が可能なオブジェクトには多くの種類があるため、このポストプロセッサーはオブジェクトをサポートする必要があります。- パラメーター:
objectPostProcessor
- 使用するObjectPostProcessor
AbstractConfiguredSecurityBuilder
protected AbstractConfiguredSecurityBuilder(ObjectPostProcessor<java.lang.Object> objectPostProcessor, boolean allowConfigurersOfSameType)
指定されたObjectPostProcessor
を使用して新しいインスタンスを作成します。後処理が可能なオブジェクトには多くの種類があるため、このポストプロセッサーはオブジェクトをサポートする必要があります。- パラメーター:
objectPostProcessor
- 使用するObjectPostProcessor
allowConfigurersOfSameType
- true の場合、適用の実行時に他のSecurityConfigurer
をオーバーライドしません
メソッドの詳細
getOrBuild
public O getOrBuild()
AbstractSecurityBuilder.build()
およびAbstractSecurityBuilder.getObject()
と同様ですが、状態をチェックして、AbstractSecurityBuilder.build()
を最初に呼び出す必要があるかどうかを判別します。- 戻り値:
AbstractSecurityBuilder.build()
またはAbstractSecurityBuilder.getObject()
の結果。ビルド中にエラーが発生した場合、null を返します。
apply
public <C extends SecurityConfigurerAdapter<O,B>> C apply(C configurer) throws java.lang.Exception
SecurityConfigurerAdapter
をこのSecurityBuilder
に適用し、SecurityConfigurerAdapter.setBuilder(SecurityBuilder)
を呼び出します。- パラメーター:
configurer
-- 戻り値:
- さらにカスタマイズするための
SecurityConfigurerAdapter
- 例外:
java.lang.Exception
apply
public <C extends SecurityConfigurer<O,B>> C apply(C configurer) throws java.lang.Exception
SecurityConfigurer
をこのSecurityBuilder
に適用して、まったく同じクラスのSecurityConfigurer
をオーバーライドします。オブジェクト階層は考慮されないことに注意してください。- パラメーター:
configurer
-- 戻り値:
- さらにカスタマイズするための
SecurityConfigurerAdapter
- 例外:
java.lang.Exception
setSharedObject
public <C> void setSharedObject(java.lang.Class<C> sharedType, C object)
複数のSecurityConfigurer
によって共有されるオブジェクトを設定します。- パラメーター:
sharedType
- 共有オブジェクトのキーとなるクラス。object
- 格納するオブジェクト
getSharedObject
public <C> C getSharedObject(java.lang.Class<C> sharedType)
共有オブジェクトを取得します。オブジェクトの階層は考慮されないことに注意してください。- パラメーター:
sharedType
- 共有オブジェクトの型- 戻り値:
- 共有オブジェクト。見つからない場合は null
getSharedObjects
public java.util.Map<java.lang.Class<?>,java.lang.Object> getSharedObjects()
共有オブジェクトを取得します- 戻り値:
- 共有オブジェクト
getConfigurers
public <C extends SecurityConfigurer<O,B>> java.util.List<C> getConfigurers(java.lang.Class<C> clazz)
クラス名または見つからない場合は空のリストによって、すべてのSecurityConfigurer
インスタンスを取得します。オブジェクト階層は考慮されないことに注意してください。- パラメーター:
clazz
- 検索するSecurityConfigurer
クラス- 戻り値:
- さらにカスタマイズするための
SecurityConfigurer
のリスト
removeConfigurers
public <C extends SecurityConfigurer<O,B>> java.util.List<C> removeConfigurers(java.lang.Class<C> clazz)
クラス名または見つからない場合は空のリストによって、すべてのSecurityConfigurer
インスタンスを削除します。オブジェクト階層は考慮されないことに注意してください。- パラメーター:
clazz
- 検索するSecurityConfigurer
クラス- 戻り値:
- さらにカスタマイズするための
SecurityConfigurer
のリスト
getConfigurer
public <C extends SecurityConfigurer<O,B>> C getConfigurer(java.lang.Class<C> clazz)
クラス名またはnull
でSecurityConfigurer
を取得します(見つからない場合)。オブジェクト階層は考慮されないことに注意してください。- パラメーター:
clazz
-- 戻り値:
- さらにカスタマイズするための
SecurityConfigurer
removeConfigurer
public <C extends SecurityConfigurer<O,B>> C removeConfigurer(java.lang.Class<C> clazz)
クラス名またはnull
が見つからない場合は、SecurityConfigurer
を削除して返します。オブジェクト階層は考慮されないことに注意してください。- パラメーター:
clazz
-- 戻り値:
objectPostProcessor
public B objectPostProcessor(ObjectPostProcessor<java.lang.Object> objectPostProcessor)
使用するObjectPostProcessor
を指定します。- パラメーター:
objectPostProcessor
- 使用するObjectPostProcessor
。null にはできません- 戻り値:
- さらにカスタマイズするための
SecurityBuilder
postProcess
protected <P> P postProcess(P object)
オブジェクトの後処理を実行します。デフォルトでは、ObjectPostProcessor
に委譲します。- パラメーター:
object
- プロセスをポストするオブジェクト- 戻り値:
- 使用する可能性のある変更されたオブジェクト
doBuild
protected final O doBuild() throws java.lang.Exception
次の手順を使用して適用されたSecurityConfigurer
を使用してビルドを実行します。- フックするサブクラスの
beforeInit()
を呼び出します - このビルダーに適用された
SecurityConfigurer
のSecurityConfigurer.init(SecurityBuilder)
を呼び出します。 - フックするサブクラスの
beforeConfigure()
を呼び出します - オブジェクトを実際に構築する
performBuild()
を呼び出します
- 次で指定:
- クラス
AbstractSecurityBuilder<O>
のdoBuild
- 戻り値:
AbstractSecurityBuilder.build()
によって返されるオブジェクト- 例外:
java.lang.Exception
- エラーが発生した場合
- フックするサブクラスの
beforeInit
protected void beforeInit() throws java.lang.Exception
各SecurityConfigurer.init(SecurityBuilder)
メソッドを呼び出す前に呼び出されます。サブクラスは、このメソッドをオーバーライドして、SecurityConfigurer
を使用せずにライフサイクルにフックできます。- 例外:
java.lang.Exception
beforeConfigure
protected void beforeConfigure() throws java.lang.Exception
各SecurityConfigurer.configure(SecurityBuilder)
メソッドを呼び出す前に呼び出されます。サブクラスは、このメソッドをオーバーライドして、SecurityConfigurer
を使用せずにライフサイクルにフックできます。- 例外:
java.lang.Exception
performBuild
protected abstract O performBuild() throws java.lang.Exception
サブクラスはこのメソッドを実装して、返されるオブジェクトを構築する必要があります。- 戻り値:
- Object が buit であるか、実装で許可されている場合は null
- 例外:
java.lang.Exception