クラス AbstractUserDetailsReactiveAuthenticationManager
- java.lang.Object
-
- org.springframework.security.authentication.AbstractUserDetailsReactiveAuthenticationManager
- 実装されたすべてのインターフェース:
org.springframework.beans.factory.Aware
、org.springframework.context.MessageSourceAware
、ReactiveAuthenticationManager
public abstract class AbstractUserDetailsReactiveAuthenticationManager extends java.lang.Object implements ReactiveAuthenticationManager, org.springframework.context.MessageSourceAware
サブクラスがUserDetails
オブジェクトをオーバーライドして操作できるようにするベースReactiveAuthenticationManager
。検証に成功すると、
UsernamePasswordAuthenticationToken
が作成され、呼び出し元に返されます。トークンには、ユーザー名のString
表現、または認証リポジトリから返されたUserDetails
がプリンシパルとして含まれます。- 導入:
- 5.2
コンストラクターのサマリー
コンストラクター コンストラクター 説明 AbstractUserDetailsReactiveAuthenticationManager()
メソッドのサマリー
すべてのメソッド インスタンスメソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 reactor.core.publisher.Mono<Authentication>
authenticate(Authentication authentication)
提供されたAuthentication
を認証しようとしますprotected abstract reactor.core.publisher.Mono<UserDetails>
retrieveUser(java.lang.String username)
サブクラスが実装固有の場所からUserDetails
を取得できるようにします。void
setMessageSource(org.springframework.context.MessageSource messageSource)
void
setPasswordEncoder(PasswordEncoder passwordEncoder)
パスワードの検証に使用されるPasswordEncoder
。void
setPostAuthenticationChecks(UserDetailsChecker postAuthenticationChecks)
認証後に、読み込まれた UserDetails オブジェクトを検証するために使用される戦略を設定します。void
setScheduler(reactor.core.scheduler.Scheduler scheduler)
UserDetailsRepositoryReactiveAuthenticationManager
が使用するScheduler
を設定します。void
setUserDetailsPasswordService(ReactiveUserDetailsPasswordService userDetailsPasswordService)
認証が成功したときにパスワードをアップグレードするために使用するサービスを設定します。
メソッドの詳細
authenticate
public reactor.core.publisher.Mono<Authentication> authenticate(Authentication authentication)
インターフェースからコピーされた説明:ReactiveAuthenticationManager
提供されたAuthentication
を認証しようとします- 次で指定:
- インターフェース
ReactiveAuthenticationManager
のauthenticate
- パラメーター:
authentication
- テストするAuthentication
- 戻り値:
- 認証が成功すると、
Authentication
が返されます。認証を判別できない場合、空の Mono が返されます。認証が失敗すると、Mono エラーが返されます。
setPasswordEncoder
public void setPasswordEncoder(PasswordEncoder passwordEncoder)
パスワードの検証に使用されるPasswordEncoder
。デフォルトはPasswordEncoderFactories.createDelegatingPasswordEncoder()
です- パラメーター:
passwordEncoder
- 使用するPasswordEncoder
。null にはできません
setScheduler
public void setScheduler(reactor.core.scheduler.Scheduler scheduler)
UserDetailsRepositoryReactiveAuthenticationManager
が使用するScheduler
を設定します。最新のパスワードエンコーディングは CPU を集中的に使用するタスクであり、ブロックされないため、デフォルトはSchedulers.newParallel(String)
です。つまり、検証は CPU の数によって制限されます。一部のアプリケーションでは、Scheduler
をカスタマイズできます。例: ユーザーが安全でないNoOpPasswordEncoder
を使用して立ち往生している場合、Schedulers.immediate()
を活用したい場合があります。- パラメーター:
scheduler
- 使用するScheduler
。null にはできません。- 導入:
- 5.0.6
setUserDetailsPasswordService
public void setUserDetailsPasswordService(ReactiveUserDetailsPasswordService userDetailsPasswordService)
認証が成功したときにパスワードをアップグレードするために使用するサービスを設定します。- パラメーター:
userDetailsPasswordService
- 使用するサービス
setPostAuthenticationChecks
public void setPostAuthenticationChecks(UserDetailsChecker postAuthenticationChecks)
認証後に、読み込まれた UserDetails オブジェクトを検証するために使用される戦略を設定します。- パラメーター:
postAuthenticationChecks
-UserDetailsChecker
- 導入:
- 5.2
setMessageSource
public void setMessageSource(org.springframework.context.MessageSource messageSource)
- 次で指定:
- インターフェース
org.springframework.context.MessageSourceAware
のsetMessageSource
- 導入:
- 5.5
retrieveUser
protected abstract reactor.core.publisher.Mono<UserDetails> retrieveUser(java.lang.String username)
サブクラスが実装固有の場所からUserDetails
を取得できるようにします。- パラメーター:
username
- 取得するユーザー名- 戻り値:
- ユーザー情報。認証が失敗すると、Mono エラーが返されます。