@RetentionSE(valueSE=RUNTIMESE) @TargetSE(valueSE=TYPESE) public @interface DatabaseIdentityStoreDefinition
IdentityStore
を定義し、その実装を有効な CDI Bean として利用できるようにするために使用されるアノテーション。 コンテナーが提供する IdentityStore
は、UsernamePasswordCredential
の検証をサポートする必要があり、他の資格型の検証をサポートする場合があります。
修飾子と型 | オプションの要素と説明 |
---|---|
StringSE | callerQuery {caller、password} ペアを検証する SQL クエリ。 |
StringSE | dataSourceLookup 発信者 ID が格納されているデータベースへのアクセスを提供するデータソースの完全な JNDI 名。 |
StringSE | groupsQuery 認証が成功したときに呼び出し元に関連付けられているグループを取得する SQL クエリ。 |
ClassSE<? extends PasswordHash> | hashAlgorithm パスワードのハッシュを生成し、それを callerQuery() を介してデータベースから返されたハッシュ値と比較することにより、プレーンテキストのパスワードを検証するために使用される PasswordHash 実装。 |
StringSE[] | hashAlgorithmParameters アルゴリズム固有のパラメーターを指定するために使用されます。 |
int | priority 複数の IdentityStores が見つかった場合の順序を決定します。 |
StringSE | priorityExpression priority を Jakarta Expression Language 式として指定できるようにします。 |
IdentityStore.ValidationType[] | useFor ID ストアの用途を決定します |
StringSE | useForExpression useFor を Jakarta Expression Language 式として指定できるようにします。 |
public abstract StringSE dataSourceLookup
public abstract StringSE callerQuery
useFor()
に IdentityStore.ValidationType.VALIDATE
が含まれている場合にのみ必要です。認証される呼び出し元の名前は、唯一のプレースホルダーとして設定する必要があります。(ハッシュされた)パスワードは、結果の最初の列にあるはずです。
クエリの例:
select password from callers where name = ?
public abstract StringSE groupsQuery
useFor()
に IdentityStore.ValidationType.PROVIDE_GROUPS
が含まれている場合にのみ必要です。認証された呼び出し元の名前は、唯一のプレースホルダーとして設定する必要があります。グループ名は結果の最初の列にあるはずです。
クエリの例:
select group_name from caller_groups where caller_name = ?
public abstract ClassSE<? extends PasswordHash> hashAlgorithm
callerQuery()
を介してデータベースから返されたハッシュ値と比較することにより、プレーンテキストのパスワードを検証するために使用される PasswordHash
実装。public abstract StringSE[] hashAlgorithmParameters
パラメーターは、以下の形式を使用して、名前と値のペアのリストとして指定されます。
parameterName=parameterValue
例:
Algorithm.param1="value" Algorithm.param2=32
この属性は、parameterValue
と完全な配列要素の両方に対して即時 Jakarta Expression Language 式((${} 構文)をサポートします。EL 式が完全な配列要素に使用される場合、式は単一の文字列、文字列配列、文字列 Stream
SE のいずれかに評価される必要があります。各場合、すべての文字列は上記の指定された形式に従う必要があります。
public abstract StringSE priorityExpression
priority
を Jakarta Expression Language 式として指定できるようにします。設定されている場合、priority
で設定された値をオーバーライドします。priority
Jakarta Expression Language 式 public abstract IdentityStore.ValidationType[] useFor
public abstract StringSE useForExpression
useFor
を Jakarta Expression Language 式として指定できるようにします。設定すると、useFor で設定された値が上書きされます。useFor
Jakarta Expression Language 式 Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.