クラス AuthenticationManagerBuilder
- 実装されたすべてのインターフェース:
ProviderManagerBuilder<AuthenticationManagerBuilder>
,SecurityBuilder<AuthenticationManager>
SecurityBuilder
は AuthenticationManager
の作成に使用されていました。メモリ内認証、LDAP 認証、JDBC ベースの認証、UserDetailsService
の追加、AuthenticationProvider
の追加を簡単に構築できます。- 導入:
- 3.2
コンストラクターのサマリー
コンストラクターコンストラクター説明AuthenticationManagerBuilder
(ObjectPostProcessor<ObjectSE> objectPostProcessor) 新しいインスタンスを作成しますメソッドのサマリー
修飾子と型メソッド説明authenticationEventPublisher
(AuthenticationEventPublisher eventPublisher) AuthenticationEventPublisher
を設定しますauthenticationProvider
(AuthenticationProvider authenticationProvider) 渡されるカスタムAuthenticationProvider
に基づいて認証を追加します。eraseCredentials
(boolean eraseCredentials) AuthenticationManagerBuilder
のデフォルトUserDetailsService
を取得します。AuthenticationManagerBuilder
にメモリ内認証を追加し、InMemoryUserDetailsManagerConfigurer
を返して、メモリ内認証のカスタマイズを許可します。boolean
AuthenticationManagerBuilder
が null 以外のAuthenticationManager
を作成するように構成されているかどうかを判別します。JDBC 認証をAuthenticationManagerBuilder
に追加し、JdbcUserDetailsManagerConfigurer
を返し、JDBC 認証のカスタマイズを許可します。LDAP 認証をAuthenticationManagerBuilder
に追加し、LdapAuthenticationProviderConfigurer
を返して、LDAP 認証のカスタマイズを許可します。parentAuthenticationManager
(AuthenticationManager authenticationManager) このAuthenticationManager
が提供されたAuthentication
の認証を試みることができなかった場合に試行される親AuthenticationManager
の提供を許可します。protected ProviderManager
サブクラスはこのメソッドを実装して、返されるオブジェクトを構築する必要があります。userDetailsService
(T userDetailsService) 渡されるカスタムUserDetailsService
に基づいて認証を追加します。クラス org.springframework.security.config.annotation.AbstractConfiguredSecurityBuilder から継承されたメソッド
apply, beforeConfigure, beforeInit, doBuild, getConfigurer, getConfigurers, getOrBuild, getSharedObject, getSharedObjects, objectPostProcessor, postProcess, removeConfigurer, removeConfigurers, setSharedObject, with
クラス org.springframework.security.config.annotation.AbstractSecurityBuilder から継承されたメソッド
build, getObject
クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.security.config.annotation.SecurityBuilder から継承されたメソッド
build
コンストラクターの詳細
AuthenticationManagerBuilder
新しいインスタンスを作成します- パラメーター:
objectPostProcessor
- 使用するObjectPostProcessor
インスタンス。
メソッドの詳細
parentAuthenticationManager
public AuthenticationManagerBuilder parentAuthenticationManager(AuthenticationManager authenticationManager) このAuthenticationManager
が提供されたAuthentication
の認証を試みることができなかった場合に試行される親AuthenticationManager
の提供を許可します。- パラメーター:
authenticationManager
- 現在のAuthenticationManager
が提供されたAuthentication
を認証しようとすることができなかった場合に使用されるAuthenticationManager
- 戻り値:
- 認証型をさらに追加するための
AuthenticationManagerBuilder
authenticationEventPublisher
public AuthenticationManagerBuilder authenticationEventPublisher(AuthenticationEventPublisher eventPublisher) AuthenticationEventPublisher
を設定します- パラメーター:
eventPublisher
- 使用するAuthenticationEventPublisher
- 戻り値:
- さらにカスタマイズするための
AuthenticationManagerBuilder
eraseCredentials
- パラメーター:
eraseCredentials
-AuthenticationManager
が認証後にAuthentication
オブジェクトから資格情報をクリアする必要がある場合は true- 戻り値:
- さらにカスタマイズするための
AuthenticationManagerBuilder
inMemoryAuthentication
public InMemoryUserDetailsManagerConfigurer<AuthenticationManagerBuilder> inMemoryAuthentication() throws ExceptionSEAuthenticationManagerBuilder
にメモリ内認証を追加し、InMemoryUserDetailsManagerConfigurer
を返して、メモリ内認証のカスタマイズを許可します。また、このメソッドは、
UserDetailsService
がgetDefaultUserDetailsService()
メソッドで使用可能であることを確認します。追加のUserDetailsService
がこのUserDetailsService
をデフォルトとしてオーバーライドする場合があることに注意してください。- 戻り値:
- メモリ内認証のカスタマイズを可能にする
InMemoryUserDetailsManagerConfigurer
- 例外:
ExceptionSE
- メモリ内認証の追加時にエラーが発生した場合
jdbcAuthentication
public JdbcUserDetailsManagerConfigurer<AuthenticationManagerBuilder> jdbcAuthentication() throws ExceptionSEJDBC 認証をAuthenticationManagerBuilder
に追加し、JdbcUserDetailsManagerConfigurer
を返し、JDBC 認証のカスタマイズを許可します。永続データストアで使用する場合は、Flyway や Liquibase などを使用して構成の外部でユーザーを追加し、スキーマを作成してユーザーを追加することで、これらの手順が 1 回だけ実行され、最適な SQL が使用されるようにするのが最適です。
また、このメソッドは、
UserDetailsService
がgetDefaultUserDetailsService()
メソッドで使用可能であることを確認します。追加のUserDetailsService
がこのUserDetailsService
をデフォルトとしてオーバーライドする場合があることに注意してください。デフォルトのスキーマについては、リファレンスのユーザースキーマセクションを参照してください。- 戻り値:
- JDBC 認証のカスタマイズを可能にする
JdbcUserDetailsManagerConfigurer
- 例外:
ExceptionSE
- JDBC 認証の追加時にエラーが発生した場合
userDetailsService
public <T extends UserDetailsService> DaoAuthenticationConfigurer<AuthenticationManagerBuilder,T> userDetailsService(T userDetailsService) throws ExceptionSE 渡されたカスタムUserDetailsService
に基づいて認証を追加します。次に、DaoAuthenticationConfigurer
を返し、認証のカスタマイズを許可します。また、このメソッドは、
UserDetailsService
がgetDefaultUserDetailsService()
メソッドで使用可能であることを確認します。追加のUserDetailsService
がこのUserDetailsService
をデフォルトとしてオーバーライドする場合があることに注意してください。- 戻り値:
- DAO 認証のカスタマイズを可能にする
DaoAuthenticationConfigurer
- 例外:
ExceptionSE
-UserDetailsService
ベースの認証を追加するときにエラーが発生した場合
ldapAuthentication
public LdapAuthenticationProviderConfigurer<AuthenticationManagerBuilder> ldapAuthentication() throws ExceptionSELDAP 認証をAuthenticationManagerBuilder
に追加し、LdapAuthenticationProviderConfigurer
を返して、LDAP 認証のカスタマイズを許可します。このメソッド は、
UserDetailsService
がgetDefaultUserDetailsService()
メソッドで使用可能であることを保証しません。- 戻り値:
- LDAP 認証のカスタマイズを可能にする
LdapAuthenticationProviderConfigurer
- 例外:
ExceptionSE
- LDAP 認証の追加時にエラーが発生した場合
authenticationProvider
public AuthenticationManagerBuilder authenticationProvider(AuthenticationProvider authenticationProvider) 渡されるカスタムAuthenticationProvider
に基づいて認証を追加します。AuthenticationProvider
の実装は不明であるため、すべてのカスタマイズは外部で行う必要があり、AuthenticationManagerBuilder
はすぐに返されます。このメソッドは、
UserDetailsService
がgetDefaultUserDetailsService()
メソッドで使用できることを保証しません。AuthenticationProvider
の追加時にエラーが発生した場合、Exception
SE がスローされる可能性があることに注意してください。- 次で指定:
- インターフェース
ProviderManagerBuilder<AuthenticationManagerBuilder>
のauthenticationProvider
- 戻り値:
AuthenticationManagerBuilder
にさらに認証を提供できるようにするAuthenticationManagerBuilder
performBuild
クラスからコピーされた説明:AbstractConfiguredSecurityBuilder
サブクラスはこのメソッドを実装して、返されるオブジェクトを構築する必要があります。- 次で指定:
- クラス
AbstractConfiguredSecurityBuilder<AuthenticationManager,
のAuthenticationManagerBuilder> performBuild
- 戻り値:
- Object が buit であるか、実装で許可されている場合は null
- 例外:
ExceptionSE
isConfigured
public boolean isConfigured()AuthenticationManagerBuilder
が null 以外のAuthenticationManager
を作成するように構成されているかどうかを判別します。これは、非 null の親が指定されているか、少なくとも 1 つのAuthenticationProvider
が指定されていることを意味します。SecurityConfigurer
インスタンスを使用する場合、AuthenticationManagerBuilder
はSecurityConfigurer.configure(SecurityBuilder)
メソッドまで構成されません。これは、最後のSecurityConfigurer
がこのメソッドをチェックし、SecurityConfigurer.configure(SecurityBuilder)
メソッドでデフォルト構成を提供できることを意味します。- 戻り値:
AuthenticationManagerBuilder
が構成されている場合は true、そうでない場合は false
getDefaultUserDetailsService
AuthenticationManagerBuilder
のデフォルトUserDetailsService
を取得します。状況によっては、結果が null になる場合があります。- 戻り値:
AuthenticationManagerBuilder
のデフォルトUserDetailsService