クラス LifecycleAwareSessionManager

実装されているすべてのインターフェース:
DisposableBeanAuthenticationEventMulticasterSessionManager

public class LifecycleAwareSessionManager extends LifecycleAwareSessionManagerSupport implements SessionManager, DisposableBean
ライフサイクルを意識した Session Manager。この SessionManager は、トークンを同時に取得しようとする複数のスレッドを同期する request で、ClientAuthentication からトークンを取得します。

トークンにリース期間がある場合、トークンは非同期的に更新されます。これは、トークンの有効期限が切れる 5 秒前に発生します。LifecycleAwareSessionManagerSupport.REFRESH_PERIOD_BEFORE_EXPIRY を参照してください。

この SessionManager は、LoginToken が不要になったときにそれを取り消すための DisposableBean も実装します。トークンが失効すると、定期的なトークンのリフレッシュが停止されます。トークンは、関連付けられた ClientAuthenticationservice token を返した場合にのみ取り消されます。

トークンの更新でクライアント側のエラーが発生した場合、トークンが取り消されたか期限切れになったと見なされます。トークンの状態を破棄するため、次の試行で別のログイン試行が行われます。

デフォルトでは、VaultToken は Vault で検索され、更新可能性、残りの TTL、アクセサー、型が決定されます。LifecycleAwareSessionManagerSupport.setTokenSelfLookupEnabled(boolean) を参照してください。

セッションマネージャーは、認証イベントを AuthenticationListener および AuthenticationErrorListener にディスパッチします。イベント通知は、バックグラウンド更新に使用される呼び出し元の ThreadSE または ワーカースレッドでディスパッチされます。

このクラスはスレッドセーフです。

作成者:
Mark Paluch, Steven Swor, Iouri Goussev
関連事項:
  • コンストラクターの詳細

  • メソッドの詳細

    • getToken

      トークンの状態: Vault セッションを識別する現在有効なトークンが含まれています。
    • setToken

      protected void setToken(OptionalSE<LifecycleAwareSessionManager.TokenWrapper> token)
    • destroy

      public void destroy()
      次で指定:
      インターフェース DisposableBeandestroy 
    • revoke

      public void revoke()
      現在の VaultToken を取り消して削除します。
      導入:
      3.0.2
    • revoke

      protected void revoke(VaultToken token)
      VaultToken を取り消します。
      パラメーター:
      token - 取り消すトークン。null であってはなりません。
    • renewToken

      public boolean renewToken()
      トークンのリフレッシュを実行します。以前にトークンを取得していない場合は、新しいトークンを作成します。トークンが以前に取得された場合、自己リフレッシュを使用して現在のトークンをリフレッシュします。クライアント側のエラー (許可が拒否されたなど) は、トークンが期限切れであるか単に見つからないためにリフレッシュできないことを示します。
      戻り値:
      リフレッシュが成功した場合は true。新しいトークンが取得された場合、またはリフレッシュに失敗した場合は false。
    • getSessionToken

      public VaultToken getSessionToken()
      インターフェースからコピーされた説明: SessionManager
      セッショントークンを取得します。
      次で指定:
      インターフェース SessionManagergetSessionToken 
      戻り値:
      セッショントークン。
    • login

      protected VaultToken login()
    • isTokenRenewable

      protected boolean isTokenRenewable()
      戻り値:
      トークンが更新可能な場合は true。