インターフェース IdentityStore


  • public interface IdentityStore
    IdentityStore は、呼び出し元の資格情報を検証し、呼び出し元の ID 属性にアクセスするためのメカニズムです。Jakarta Security HttpAuthenticationMechanism や Jakarta Authentication ServerAuthModule などの認証メカニズムで使用できます。

    検証のみまたはグループ検索のみを行うストアが許可されます。

    IdentityStore は、データベース、LDAP サーバー、ファイルなどの永続ストアから ID データを取得します。

    • フィールドの詳細

      • 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
        戻り値:
        呼び出し元が存在する場合は、見つかったグループの SetSE、またはそれ以外の場合は空の SetSE
        例外:
        SecurityExceptionSE - 呼び出しコードに IdentityStorePermission がない場合にスローされることがあります。
      • priority

        default int priority()
        複数の IdentityStore の呼び出し順序を決定します。優先度の値が低いストアが最初に参照されます。
        戻り値:
        優先度の値。値が小さいほど優先順位が高くなります。
      • validationTypes

        default SetSE<IdentityStore.ValidationType> validationTypes()
        IdentityStore を使用する必要がある検証の型を決定します。デフォルトでは、資格情報の検証とグループの提供に使用されます。

        この API の実装は、不変の SetSE でない限り、IdentityStore の検証型を表すために内部的に使用される SetSE への直接参照を返すべきではありません。API の呼び出し元は、返された SetSE が不変またはコピーである可能性があり、どのような場合でも、呼び出し元が変更してはならないことを認識しておく必要があります。

        戻り値:
        IdentityStore で有効な検証型を含む SetSE