クラス CachingUserDetailsService

java.lang.ObjectSE
org.springframework.security.authentication.CachingUserDetailsService
実装されたすべてのインターフェース:
UserDetailsService

public class CachingUserDetailsService extends ObjectSE implements UserDetailsService
UserCache を介したキャッシュを利用する UserDetailsService の実装

getUserCache() から取得した UserCacheUserCache.getUserFromCache(String) から null UserDetails インスタンスが返された場合、ユーザーロードは構築時に提供された UserDetailsService に延期されます。それ以外の場合は、キャッシュから取得されたインスタンスが返されます。

デフォルトでは NullUserCache で初期化されるため、setUserCache(UserCache) を使用して独自の UserCache を設定することを強くお勧めします。そうしないと、デリゲートが毎回呼び出されます。

UserDetailsService の実際の実装をカプセル化する Bean を定義し、UserCache 実装を提供することで、このクラスを利用します。

例:
 @Bean
 public CachingUserDetailsService cachingUserDetailsService(UserCache userCache) {
     UserDetailsService delegate = ...;
     CachingUserDetailsService service = new CachingUserDetailsService(delegate);
     service.setUserCache(userCache);
     return service;
 }
 
導入:
2.0
  • コンストラクターの詳細

  • メソッドの詳細

    • getUserCache

      public UserCache getUserCache()
    • setUserCache

      public void setUserCache(UserCache userCache)
    • loadUserByUsername

      public UserDetails loadUserByUsername(StringSE username)
      インターフェースからコピーされた説明: UserDetailsService
      ユーザー名に基づいてユーザーを見つけます。実際の実装では、実装インスタンスの構成方法に応じて、検索で大文字と小文字が区別される場合と、大文字と小文字が区別されない場合があります。この場合、戻ってくる UserDetails オブジェクトのユーザー名は、実際にリクエストされたものとは異なる場合があります。
      次で指定:
      インターフェース UserDetailsServiceloadUserByUsername 
      パラメーター:
      username - データが必要なユーザーを識別するユーザー名。
      戻り値:
      完全に入力されたユーザーレコード (非 null)