クラス CachingUserDetailsService

java.lang.ObjectSE
org.springframework.security.authentication.CachingUserDetailsService
実装済みのインターフェース一覧:
UserDetailsService

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

getUserCache() から取得した UserCache に UserCache.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 オブジェクトのユーザー名は、実際にリクエストされたものとは異なる場合があります。
      次で指定:
      インターフェース UserDetailsService 内の loadUserByUsername 
      パラメーター:
      username - データが必要なユーザーを識別するユーザー名。
      戻り値:
      完全に入力されたユーザーレコード (決して null ではない)