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