アノテーション型 RememberMe


  • @InheritedSE
    @InterceptorBinding
    @RetentionSE(RUNTIMESE)
    @TargetSE(TYPESE)
    public @interface 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 で販売され、検証された長寿命トークンを使用して特別な目的の認証メカニズムを、表しません

    • オプション要素のサマリー

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

      • cookieMaxAgeSeconds

        int cookieMaxAgeSeconds
        Remember mecookie の最大経過時間(秒単位)。デフォルトは 1 日です。
        戻り値:
        秒単位の最大年齢
        関連事項:
        Cookie.setMaxAge(int)
        デフォルト:
        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 のみ。
        関連事項:
        Cookie.setSecure(boolean)
        デフォルト:
        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。
        関連事項:
        Cookie.setHttpOnly(boolean)
        デフォルト:
        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
        覚えているクッキーの名前。
        戻り値:
        クッキーの名前
        関連事項:
        Cookie.getName()
        デフォルト:
        "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 式を使用する必要があります
        デフォルト:
        ""