クラス 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
コンストラクター概要
コンストラクター 修飾子 コンストラクター 説明 protectedAbstractConfiguredSecurityBuilder(ObjectPostProcessor<java.lang.Object> objectPostProcessor)指定されたObjectPostProcessorを使用して新しいインスタンスを作成します。protectedAbstractConfiguredSecurityBuilder(ObjectPostProcessor<java.lang.Object> objectPostProcessor, boolean allowConfigurersOfSameType)指定されたObjectPostProcessorを使用して新しいインスタンスを作成します。
方法の概要
すべてのメソッド インスタンスメソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 <C extends SecurityConfigurerAdapter<O,B>>
Capply(C configurer)protected voidbeforeConfigure()各SecurityConfigurer.configure(SecurityBuilder)メソッドを呼び出す前に呼び出されます。protected voidbeforeInit()各SecurityConfigurer.init(SecurityBuilder)メソッドを呼び出す前に呼び出されます。protected OdoBuild()次の手順を使用して適用された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インスタンスを取得します。OgetOrBuild()AbstractSecurityBuilder.build()およびAbstractSecurityBuilder.getObject()と同様ですが、状態をチェックして、AbstractSecurityBuilder.build()を最初に呼び出す必要があるかどうかを判別します。<C> CgetSharedObject(java.lang.Class<C> sharedType)共有オブジェクトを取得します。java.util.Map<java.lang.Class<?>,java.lang.Object>getSharedObjects()共有オブジェクトを取得しますBobjectPostProcessor(ObjectPostProcessor<java.lang.Object> objectPostProcessor)使用するObjectPostProcessorを指定します。protected abstract OperformBuild()サブクラスはこのメソッドを実装して、返されるオブジェクトを構築する必要があります。protected <P> PpostProcess(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> voidsetSharedObject(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- 使用するObjectPostProcessorallowConfigurersOfSameType- 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