public interface IdentityStore
IdentityStore
は、呼び出し元の資格情報を検証し、呼び出し元の ID 属性にアクセスするためのメカニズムです。Jakarta Security HttpAuthenticationMechanism
や Jakarta Authentication ServerAuthModule
などの認証メカニズムで使用できます。検証のみまたはグループ検索のみを行うストアが許可されます。
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 を使用する必要がある検証の型を決定します。 |
static final SetSE<IdentityStore.ValidationType> DEFAULT_VALIDATION_TYPES
VALIDATE
および PROVIDE_GROUPS
が含まれています。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
- 検証する資格情報。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
がない場合にスローされることがあります。default int priority()
IdentityStore
の呼び出し順序を決定します。優先度の値が低いストアが最初に参照されます。default SetSE<IdentityStore.ValidationType> validationTypes()
IdentityStore
を使用する必要がある検証の型を決定します。デフォルトでは、資格情報の検証とグループの提供に使用されます。 この API の実装は、不変の Set
SE でない限り、IdentityStore
の検証型を表すために内部的に使用される Set
SE への直接参照を返すべきではありません。API の呼び出し元は、返された Set
SE が不変またはコピーである可能性があり、どのような場合でも、呼び出し元が変更してはならないことを認識しておく必要があります。
IdentityStore
で有効な検証型を含む Set
SECopyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.