アノテーションインターフェース RememberMe


RememberMe アノテーションは、認証メカニズムが認証を効果的に「記憶」し、すべてのリクエストでこれを自動的に適用することを宣言的に指定する機能をアプリケーションに提供します。

Remember me 関数の場合、呼び出し元から提供された資格情報は、HTTP セッション ID の送信方法と同様に、Cookie の値としてユーザーに送信される(長期間有効な)トークンと交換されます。このトークンは、アプリケーション内で呼び出し元の ID を確立するための資格情報になり、トークンを安全に処理および保存するように注意する必要があることを理解する必要があります。例: この機能をセキュアトランスポート(SSL/HTTPS)で使用し、実際のトークンの代わりに強力なハッシュを保存し、有効期限ポリシーを実装します。

トークンは、特別な目的の IdentityStore -like アーティファクトによって販売されています。RememberMeIdentityStore の実装。

このサポートは、必要なロジックを実行するインターセプター仕様インターセプターの実装を介して提供されます。

例:

 
     @RequestScoped
     @RememberMe
     public class CustomAuthenticationMechanism implements HttpAuthenticationMechanism {
         // ...
     }
 
 

型 String の属性の Jakarta Expression Language 式は、認証を必要とするすべてのリクエストに対して評価されます。即時構文と遅延構文の両方がサポートされていますが、事実上、セマンティクスは常に遅延されます。

: この機能は、「セッション管理」システムの任意の種類を構成するが、代わりに RememberMeIdentityStore で販売され、検証された長寿命トークンを使用して特別な目的の認証メカニズムを、表しません

  • ネストされたクラスの要約

    ネストされたクラス
    修飾子と型
    クラス
    説明
    static final class
    RememberMe アノテーションのインラインインスタンス化をサポートします。
  • オプション要素の概要

    オプション要素
    修飾子と型
    オプションの要素
    説明
    boolean
    Remember me cookie をクライアント側のスクリプトコードに公開してはならず、HTTP リクエストでのみ送信する必要があることを示すフラグ。
    cookieHttpOnly() の Jakarta Expression Language 式バリアント。
    int
    Remember mecookie の最大経過時間(秒単位)。
    cookieMaxAgeSeconds() の Jakarta Expression Language 式バリアント。
    覚えているクッキーの名前。
    boolean
    覚えている Cookie は安全なプロトコルを使用してのみ送信する必要があることを示すフラグ(例:
    cookieSecureOnly() の Jakarta Expression Language 式バリアント。
    boolean
    私を覚えておくべきかどうかを判断するためのフラグ。
    私を覚えているかどうかを判断するための Jakarta Expression Language 式を使用する必要があります。
  • 要素の詳細

    • cookieMaxAgeSeconds

      int cookieMaxAgeSeconds
      Remember mecookie の最大経過時間(秒単位)。デフォルトは 1 日です。
      戻り値:
      秒単位の最大年齢
      関連事項:
      デフォルト:
      86400
    • cookieMaxAgeSecondsExpression

      StringSE cookieMaxAgeSecondsExpression
      cookieMaxAgeSeconds() の Jakarta Expression Language 式バリアント。式は整数の結果に評価される必要があります。すべての名前付き CDI Bean は、式で使用できます。また、ELProcessor の Jakarta Expression Language 3.0 で指定されたデフォルトクラス、およびインターセプターターゲットを参照する暗黙オブジェクト "self" と現在の HttpMessageContext を参照する "httpMessageContext" も使用できます。この属性と cookieMaxAgeSeconds() の両方が指定されている場合は、この属性が優先されます。
      戻り値:
      Remember mecookie の最大経過時間を秒単位で指定する整数に評価される式。
      デフォルト:
      ""
    • cookieSecureOnly

      boolean cookieSecureOnly
      Remember me cookie は安全なプロトコル(HTTPS や SSL など)を使用してのみ送信する必要があることを示すフラグ。
      戻り値:
      安全なプロトコルを使用して Cookie を送信する必要がある場合は true、どのプロトコルでも false のみ。
      関連事項:
      デフォルト:
      true
    • cookieSecureOnlyExpression

      StringSE cookieSecureOnlyExpression
      cookieSecureOnly() の Jakarta Expression Language 式バリアント。式はブール値の結果に評価される必要があります。すべての名前付き CDI Bean は、式で使用できます。また、ELProcessor の Jakarta Expression Language 3.0 で指定されたデフォルトクラス、インターセプターターゲットを参照する暗黙オブジェクト "self"、および現在の HttpMessageContext を参照する "httpMessageContext" も使用できます。この属性と cookieSecureOnly() の両方が指定されている場合は、この属性が優先されます。
      戻り値:
      Remember mecookie の最大経過時間を秒単位で指定する整数に評価される式。
      デフォルト:
      ""
    • cookieHttpOnly

      boolean cookieHttpOnly
      Remember me cookie をクライアント側のスクリプトコードに公開してはならず、HTTP リクエストでのみ送信する必要があることを示すフラグ。
      戻り値:
      Cookie を HTTP リクエストでのみ送信する必要がある場合(クライアント側のスクリプトコードで使用できない場合)は true、それ以外の場合は false。
      関連事項:
      デフォルト:
      true
    • cookieHttpOnlyExpression

      StringSE cookieHttpOnlyExpression
      cookieHttpOnly() の Jakarta Expression Language 式バリアント。式はブール値の結果に評価される必要があります。すべての名前付き CDI Bean は、式で使用できます。また、ELProcessor の Jakarta Expression Language 3.0 で指定されたデフォルトクラス、インターセプターターゲットを参照する暗黙オブジェクト "self"、および現在の HttpMessageContext を参照する "httpMessageContext" も使用できます。この属性と cookieHttpOnly() の両方が指定されている場合は、この属性が優先されます。
      戻り値:
      Cookie を HTTP リクエストでのみ送信する必要がある場合は true と評価され、それ以外の場合は false と評価される式。
      デフォルト:
      ""
    • cookieName

      StringSE cookieName
      覚えているクッキーの名前。
      戻り値:
      クッキーの名前
      関連事項:
      デフォルト:
      "JREMEMBERMEID"
    • isRememberMe

      boolean isRememberMe
      私を覚えておくべきかどうかを判断するためのフラグ。
      戻り値:
      私を覚えておくべきかどうかを判断するためのフラグ
      デフォルト:
      true
    • isRememberMeExpression

      StringSE isRememberMeExpression
      "Remember me" を使用するかどうかを決定するための Jakarta Expression Language 式。これは、認証を必要とするすべてのリクエストに対して評価されます。式はブール値の結果に評価される必要があります。すべての名前付き CDI Bean は、式で使用できます。また、ELProcessor の Jakarta Expression Language 3.0 で指定されたデフォルトクラス、およびインターセプターターゲットを参照する暗黙オブジェクト "self" と現在の HttpMessageContext を参照する "httpMessageContext" も使用できます。
      戻り値:
      私を覚えているかどうかを判断する Jakarta Expression Language 式を使用する必要があります
      デフォルト:
      ""