アノテーション型 DatabaseIdentityStoreDefinition


  • @RetentionSE(RUNTIMESE)
    @TargetSE(TYPESE)
    public @interface DatabaseIdentityStoreDefinition
    リレーショナルデータベースに呼び出し元の資格情報と ID 属性を格納するコンテナー提供の IdentityStore を定義し、その実装を有効な CDI Bean として利用できるようにするために使用されるアノテーション。

    コンテナーが提供する IdentityStore は、UsernamePasswordCredential の検証をサポートする必要があり、他の資格型の検証をサポートする場合があります。

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

      オプション要素  
      修飾子と型 オプションの要素 説明
      StringSEcallerQuery
      {caller、password} ペアを検証する SQL クエリ。
      StringSEdataSourceLookup
      発信者 ID が格納されているデータベースへのアクセスを提供するデータソースの完全な JNDI 名。
      StringSEgroupsQuery
      認証が成功したときに呼び出し元に関連付けられているグループを取得する SQL クエリ。
      ClassSE<? extends PasswordHash>hashAlgorithm
      パスワードのハッシュを生成し、それを callerQuery() を介してデータベースから返されたハッシュ値と比較することにより、プレーンテキストのパスワードを検証するために使用される PasswordHash 実装。
      StringSE[]hashAlgorithmParameters
      アルゴリズム固有のパラメーターを指定するために使用されます。
      intpriority
      複数の IdentityStores が見つかった場合の順序を決定します。
      StringSEpriorityExpression
      priority を Jakarta Expression Language 式として指定できるようにします。
      IdentityStore.ValidationType[]useFor
      ID ストアの用途を決定します
      StringSEuseForExpression
      useFor を Jakarta Expression Language 式として指定できるようにします。
    • 要素の詳細

      • dataSourceLookup

        StringSE dataSourceLookup
        発信者 ID が格納されているデータベースへのアクセスを提供するデータソースの完全な JNDI 名。
        戻り値:
        データソースの完全な JNDI 名
        デフォルト:
        "java:comp/DefaultDataSource"
      • callerQuery

        StringSE callerQuery
        {caller、password} ペアを検証する SQL クエリ。useFor()IdentityStore.ValidationType.VALIDATE が含まれている場合にのみ必要です。

        認証される呼び出し元の名前は、唯一のプレースホルダーとして設定する必要があります。(ハッシュされた)パスワードは、結果の最初の列にあるはずです。

        クエリの例:

         
         select password from callers where name = ?
         
         
        戻り値:
        検証する SQL クエリ
        デフォルト:
        ""
      • groupsQuery

        StringSE groupsQuery
        認証が成功したときに呼び出し元に関連付けられているグループを取得する SQL クエリ。useFor()IdentityStore.ValidationType.PROVIDE_GROUPS が含まれている場合にのみ必要です。

        認証された呼び出し元の名前は、唯一のプレースホルダーとして設定する必要があります。グループ名は結果の最初の列にあるはずです。

        クエリの例:

         
         select group_name from caller_groups where caller_name = ?
         
         
        戻り値:
        グループを取得する SQL クエリ
        デフォルト:
        ""
      • hashAlgorithm

        ClassSE<? extends PasswordHash> hashAlgorithm
        パスワードのハッシュを生成し、それを callerQuery() を介してデータベースから返されたハッシュ値と比較することにより、プレーンテキストのパスワードを検証するために使用される PasswordHash 実装。
        戻り値:
        平文パスワードの検証に使用されるパスワードハッシュ。
        デフォルト:
        jakarta.security.enterprise.identitystore.Pbkdf2PasswordHash.class
      • hashAlgorithmParameters

        StringSE[] hashAlgorithmParameters
        アルゴリズム固有のパラメーターを指定するために使用されます。

        パラメーターは、以下の形式を使用して、名前と値のペアのリストとして指定されます。

        parameterName=parameterValue
         

        例:

         Algorithm.param1="value"
         Algorithm.param2=32
         

        この属性は、parameterValue と完全な配列要素の両方に対して即時 Jakarta Expression Language 式((${} 構文)をサポートします。EL 式が完全な配列要素に使用される場合、式は単一の文字列、文字列配列、文字列 StreamSE のいずれかに評価される必要があります。各場合、すべての文字列は上記の指定された形式に従う必要があります。

        戻り値:
        アルゴリズムパラメーター。
        デフォルト:
        {}
      • priority

        int priority
        複数の IdentityStores が見つかった場合の順序を決定します。
        戻り値:
        優先順位。
        デフォルト:
        70
      • priorityExpression

        StringSE priorityExpression
        priority を Jakarta Expression Language 式として指定できるようにします。設定されている場合、priority で設定された値をオーバーライドします。
        戻り値:
        priority Jakarta Expression Language 式
        デフォルト:
        ""
      • useFor

        IdentityStore.ValidationType[] useFor
        ID ストアの用途を決定します
        戻り値:
        ID ストアが使用される型
        デフォルト:
        {jakarta.security.enterprise.identitystore.IdentityStore.ValidationType.VALIDATE, jakarta.security.enterprise.identitystore.IdentityStore.ValidationType.PROVIDE_GROUPS}
      • useForExpression

        StringSE useForExpression
        useFor を Jakarta Expression Language 式として指定できるようにします。設定すると、useFor で設定された値が上書きされます。
        戻り値:
        useFor Jakarta Expression Language 式
        デフォルト:
        ""