インターフェース IdentityStore
public interface IdentityStore
IdentityStore
は、呼び出し元の資格情報を検証し、呼び出し元の ID 属性にアクセスするためのメカニズムです。Jakarta SecurityHttpAuthenticationMechanism
や Jakarta AuthenticationServerAuthModule
などの認証メカニズムで使用できます。検証のみまたはグループ検索のみを行うストアが許可されます。
IdentityStore
は、データベース、LDAP サーバー、ファイルなどの永続ストアから ID データを取得します。
ネストされたクラスのサマリー
ネストされたクラス 修飾子と型 インターフェース 説明 static class
IdentityStore.ValidationType
このストアで実行する必要がある検証(操作)の型を決定します。
フィールドサマリー
フィールド 修飾子と型 フィールド 説明 static SetSE<IdentityStore.ValidationType>
DEFAULT_VALIDATION_TYPES
検証型のデフォルトセット。
メソッドのサマリー
すべてのメソッド インスタンスメソッド デフォルトメソッド 修飾子と型 メソッド 説明 default SetSE<StringSE>
getCallerGroups(CredentialValidationResult validationResult)
validationResult
パラメーターにあるCallerPrincipal
(およびその他の値)によって識別される呼び出し元のグループを返します。default int
priority()
複数のIdentityStore
の呼び出し順序を決定します。default CredentialValidationResult
validate(Credential credential)
指定された資格情報を検証します。default SetSE<IdentityStore.ValidationType>
validationTypes()
IdentityStore
を使用する必要がある検証の型を決定します。
フィールドの詳細
DEFAULT_VALIDATION_TYPES
static final SetSE<IdentityStore.ValidationType> DEFAULT_VALIDATION_TYPES
検証型のデフォルトセット。VALIDATE
およびPROVIDE_GROUPS
が含まれています。
メソッドの詳細
validate
default CredentialValidationResult validate(Credential credential)
指定された資格情報を検証します。便宜上、
Credential
のサブクラスを唯一のパラメーターとして持つこのメソッドのオーバーロードを検索するデフォルトの実装が提供されています。このようなオーバーロードされたメソッドを使用した場合の、このインターフェースの実装の例を次に示します。public class ExampleIdentityStore implements IdentityStore { public CredentialValidationResult validate(UsernamePasswordCredential usernamePasswordCredential) { // Implementation ... return INVALID_RESULT; } }
オーバーロードされたメソッドは、このメソッドに渡された実際の型がオーバーロードされたメソッドのパラメーター型と完全に一致する場合にのみ呼び出されることに注意してください。JLS 15.2 で指定されているような、最も具体的なオーバーロードメソッドを見つけるための試みは行われていません。
このメソッドは、検証試行の結果(成功したか失敗したか)を表す
CredentialValidationResult
を返します。検証が成功した場合は、呼び出し元のCallerPrincipal
と、場合によってはグループまたはその他の属性を返します。- パラメーター:
credential
- 検証する資格情報。- 戻り値:
- 検証結果。
getCallerGroups
default SetSE<StringSE> getCallerGroups(CredentialValidationResult validationResult)
validationResult
パラメーターにあるCallerPrincipal
(およびその他の値)によって識別される呼び出し元のグループを返します。呼び出し元(つまり、
IdentityStoreHandler
)は、このメソッドを呼び出すためのIdentityStorePermission
権限を持っている必要があります。実装は、作業を行う前にこの権限を確認する必要があります。SecurityManager security = System.getSecurityManager(); if (security != null) { security.checkPermission(new IdentityStorePermission("getGroups"); }
- パラメーター:
validationResult
-validate(Credential)
への以前の呼び出しによって返されたCredentialValidationResult
。- 戻り値:
- 呼び出し元が存在する場合は、見つかったグループの
Set
SE、またはそれ以外の場合は空のSet
SE。 - 例外:
SecurityExceptionSE
- 呼び出しコードにIdentityStorePermission
がない場合にスローされることがあります。
priority
default int priority()
複数のIdentityStore
の呼び出し順序を決定します。優先度の値が低いストアが最初に参照されます。- 戻り値:
- 優先度の値。値が小さいほど優先順位が高くなります。
validationTypes
default SetSE<IdentityStore.ValidationType> validationTypes()
IdentityStore
を使用する必要がある検証の型を決定します。デフォルトでは、資格情報の検証とグループの提供に使用されます。この API の実装は、不変の
Set
SE でない限り、IdentityStore
の検証型を表すために内部的に使用されるSet
SE への直接参照を返すべきではありません。API の呼び出し元は、返されたSet
SE が不変またはコピーである可能性があり、どのような場合でも、呼び出し元が変更してはならないことを認識しておく必要があります。- 戻り値:
IdentityStore
で有効な検証型を含むSet
SE