クラス DaoAuthenticationProvider

    • コンストラクターの詳細

      • DaoAuthenticationProvider

        public DaoAuthenticationProvider()
    • メソッドの詳細

      • retrieveUser

        protected final UserDetails retrieveUser​(java.lang.String username,
                                                 UsernamePasswordAuthenticationToken authentication)
                                          throws AuthenticationException
        クラスからコピーされた説明: AbstractUserDetailsAuthenticationProvider
        サブクラスが実装固有の場所から UserDetails を実際に取得できるようにします。提示された資格情報が正しくない場合、すぐに AuthenticationException をスローするオプションがあります(これは、ユーザーとしてリソースにバインドする必要がある場合に特に役立ちます。UserDetails を生成します)。

        AbstractUserDetailsAuthenticationProvider はデフォルトで UserDetails をキャッシュするため、キャッシュを実行するためにサブクラスは必要ありません。UserDetails のキャッシュは、このメソッドでバインディングベースの戦略を採用するサブクラスによって資格情報の正確性が保証されている場合でも、キャッシュに依存する後続のリクエストがまだ資格情報を検証する必要があるため、さらなる複雑さを示します。サブクラスがキャッシュを無効にすることが重要です(UserDetails がキャッシュされないため、このメソッドがリクエストを認証できる唯一のメソッドであることを確認したい場合)、またはサブクラスが AbstractUserDetailsAuthenticationProvider.additionalAuthenticationChecks(UserDetails, UsernamePasswordAuthenticationToken) を実装してキャッシュされた資格情報を比較することを確認すること UserDetails と後続の認証リクエスト。

        ほとんどの場合、サブクラスはこのメソッドで資格情報インスペクションを実行せず、代わりに AbstractUserDetailsAuthenticationProvider.additionalAuthenticationChecks(UserDetails, UsernamePasswordAuthenticationToken) で実行するため、資格情報の検証に関連するコードを 2 つのメソッド間で複製する必要はありません。

        次で指定:
        クラス AbstractUserDetailsAuthenticationProviderretrieveUser 
        パラメーター:
        username - 取得するユーザー名
        authentication - サブクラス UserDetails のバインディングベースの検索を実行する必要があるかもしれない認証リクエスト
        戻り値:
        ユーザー情報 (非 null - 代わりに例外がスローされます)
        例外:
        AuthenticationException - 資格情報を検証できなかった場合 (通常、BadCredentialsExceptionAuthenticationServiceException または UsernameNotFoundException)
      • setPasswordEncoder

        public void setPasswordEncoder​(PasswordEncoder passwordEncoder)
        パスワードのエンコードと検証に使用される PasswordEncoder インスタンスを設定します。設定されていない場合、PasswordEncoderFactories.createDelegatingPasswordEncoder() を使用してパスワードが比較されます
        パラメーター:
        passwordEncoder - PasswordEncoder 型のいずれかのインスタンスでなければなりません。
      • setUserDetailsService

        public void setUserDetailsService​(UserDetailsService userDetailsService)
      • setUserDetailsPasswordService

        public void setUserDetailsPasswordService​(UserDetailsPasswordService userDetailsPasswordService)