モジュール java.base
パッケージ javax.security.auth

クラスPrivateCredentialPermission

  • すべての実装されたインタフェース:
    Serializable, Guard


    public final class PrivateCredentialPermission
    extends Permission
    このクラスは、特定のSubjectに属する非公開資格をアクセスから保護します。 Subjectは、PrincipalのSetによって表されます。

    このPermissionのターゲット名は、Credentialのクラス名およびPrincipalのSetを指定します。 このPermissionのアクションに有効な値はreadだけです。 ターゲット名は、次の構文に従っている必要があります。

          CredentialClass {PrincipalClass "PrincipalName"}*
     
    たとえば次のアクセス権は、com.sun.Principalを名前「duke」で保持するSubjectが所有するcom.sun.PrivateCredentialへのアクセスを許可します。 次に示す例すべてと同様、この例でも単純化するためにCodebase、Signedby、Principalの情報をgrant文に含んでいませんが、実際のポリシー構成では必要に応じて指定する必要があります。
    
        grant {
          permission javax.security.auth.PrivateCredentialPermission
                  "com.sun.PrivateCredential com.sun.Principal \"duke\"",
                  "read";
        };
     
    CredentialClassが「*」の場合は、指定したSubjectに属するすべての非公開資格へのアクセスが許可されます。 「PrincipalName」が「*」の場合は、実際のPrincipalNameに関係なく、指定したPrincipalを保持する任意のSubjectが所有する、指定した資格へのアクセスが許可されます。 たとえば、a.b.Principalを保持する任意のSubjectが所有するa.b.Credentialへのアクセスを許可するには次のようにします。
        grant {
          permission javax.security.auth.PrivateCredentialPermission
                  "a.b.Credential a.b.Principal "*"",
                  "read";
        };
     
    PrincipalClassとPrincipalNameの両方が「*」になっている場合は、任意のSubjectによって所有されている指定した資格へのアクセスが許可されます。

    また、PrincipalClass/PrincipalNameの対は、繰返し指定できます。

        grant {
          permission javax.security.auth.PrivateCredentialPermission
                  "a.b.Credential a.b.Principal "duke" c.d.Principal "dukette"",
                  "read";
        };
     
    上記の例では、「duke」という名前の「a.b.Principal」と、「dukette」という名前の「c.d.Principal」の少なくとも2つの関連するPrincipalを持つSubjectに属する非公開資格「a.b.Credential」へのアクセスが許可されます。
    導入されたバージョン:
    1.4
    関連項目:
    直列化された形式
    • コンストラクタの詳細

      • PrivateCredentialPermission

        public PrivateCredentialPermission​(String name,
                                           String actions)
        指定されたnameで新しいPrivateCredentialPermissionを作成します。 nameには、CredentialクラスとPrincipalのSetの両方を指定します。
        パラメータ:
        name - CredentialクラスおよびPrincipalのSetを指定する名前。
        actions - Credentialが読込み可能であることを指定するアクション。
        例外:
        IllegalArgumentException - nameの構文が正しくない場合、またはactionsが「read」(読み取り)ではない場合。
    • メソッドの詳細

      • getCredentialClass

        public String getCredentialClass​()
        このPrivateCredentialPermissionに関連付けられたCredentialのClass名を返します。
        戻り値:
        このPrivateCredentialPermissionに関連付けられたCredentialのClass名。
      • getPrincipals

        public String[][] getPrincipals​()
        このPrivateCredentialPermissionに関連付けられたPrincipalクラスと名前を返します。 情報は2次元配列(array[x][y])で返されます。 xの値は、Principalクラスと名前のペアの数に対応しています。 y==0のときはPrincipalクラスの値に対応し、y==1のときはPrincipal名の値に対応します。 たとえばarray[0][0]は、配列の最初にあるPrincipalのクラス名に対応します。array[0][1]は、配列の最初にあるPrincipalPrincipal名に対応します。
        戻り値:
        このPrivateCredentialPermissionに関連付けられたPrincipalクラスと名前を返します。
      • implies

        public boolean implies​(Permission p)
        このPrivateCredentialPermissionが、指定されたPermissionを示すかどうかを判定します。

        このメソッドは次の場合にtrueを返します。

        • pがPrivateCredentialPermissionのインスタンスであり、かつ
        • pのターゲット名が、このオブジェクトのターゲット名に含まれている場合。 次に例を示します。
            [* P1 "duke"] implies [a.b.Credential P1 "duke"].
            [C1 P1 "duke"] implies [C1 P1 "duke" P2 "dukette"].
            [C1 P2 "dukette"] implies [C1 P1 "duke" P2 "dukette"].
           
        定義:
        implies、クラス: Permission
        パラメータ:
        p - チェック対象のPermission
        戻り値:
        このPrivateCredentialPermissionが指定されたPermissionを示す場合はtrue、示さない場合はfalse。
      • equals

        public boolean equals​(Object obj)
        2つのPrivateCredentialPermissionオブジェクトが等しいかどうかを判定します。 objPrivateCredentialPermissionであり、このオブジェクトと同じ資格クラスおよび同じPrincipalを保持することを確認します。 各Permissionのターゲット名でのPrincipalの順番は関係ありません。
        定義:
        equals、クラス: Permission
        パラメータ:
        obj - このオブジェクトと等しいかどうかが判定されるオブジェクト。
        戻り値:
        objがPrivateCredentialPermissionであり、かつ、このオブジェクトと同じ資格クラスおよび同じPrincipalを保持する場合はtrue。
        関連項目:
        Object.hashCode()HashMap
      • getActions

        public String getActions​()
        アクションの「正規の文字列表現」を返します。 このメソッドは常に「read」というString値を返します。
        定義:
        getActions、クラス: Permission
        戻り値:
        アクション(常に「read」を返す)。
      • newPermissionCollection

        public PermissionCollection newPermissionCollection​()
        PermissionCollectionにあるPrivateCredentialPermissionsの同種コレクションを返します。 そのようなPermissionCollectionは定義されていないので、このメソッドは常にnullを返します。
        オーバーライド:
        newPermissionCollection、クラス: Permission
        戻り値:
        null (いかなる場合でも)。