クラス 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を取得できるようにします。voidsetMessageSource(org.springframework.context.MessageSource messageSource)voidsetPasswordEncoder(PasswordEncoder passwordEncoder)パスワードの検証に使用されるPasswordEncoder。voidsetPostAuthenticationChecks(UserDetailsChecker postAuthenticationChecks)認証後に、読み込まれた UserDetails オブジェクトを検証するために使用される戦略を設定します。voidsetScheduler(reactor.core.scheduler.Scheduler scheduler)UserDetailsRepositoryReactiveAuthenticationManagerが使用するSchedulerを設定します。voidsetUserDetailsPasswordService(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 エラーが返されます。