java.lang.Object
java.security.Permission
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(String name, String actions)指定されたnameで新しいPrivateCredentialPermissionを作成します。
- 
メソッドのサマリー修飾子と型 メソッド 説明 booleanequals(Object obj)2つのPrivateCredentialPermissionオブジェクトが等しいかどうかを判定します。StringgetActions()アクションの「正規の文字列表現」を返します。StringgetCredentialClass()このPrivateCredentialPermissionに関連付けられたCredentialのClass名を返します。String[][]getPrincipals()このPrivateCredentialPermissionに関連付けられたPrincipalクラスと名前を返します。inthashCode()このオブジェクトのハッシュ・コード値を返します。booleanimplies(Permission p)このPrivateCredentialPermissionが、指定されたPermissionを示すかどうかを判定します。PermissionCollectionnewPermissionCollection()PermissionCollectionにあるPrivateCredentialPermissionsの同種コレクションを返します。
- 
コンストラクタの詳細- 
PrivateCredentialPermission指定されたnameで新しいPrivateCredentialPermissionを作成します。nameには、CredentialクラスとPrincipalのSetの両方を指定します。- パラメータ:
- name- Credentialクラスおよび- PrincipalのSetを指定する名前。
- actions- Credentialが読込み可能であることを指定するアクション。
- 例外:
- IllegalArgumentException-- nameの構文が正しくない場合、または- actionsが「read」(読み取り)ではない場合。
 
 
- 
- 
メソッドの詳細- 
getCredentialClasspublic String getCredentialClass()このPrivateCredentialPermissionに関連付けられたCredentialのClass名を返します。- 戻り値:
- このPrivateCredentialPermissionに関連付けられたCredentialのClass名。
 
- 
getPrincipalspublic String[][] getPrincipals()このPrivateCredentialPermissionに関連付けられたPrincipalクラスと名前を返します。 情報は2次元配列(array[x][y])で返されます。 xの値は、Principalクラスと名前のペアの数に対応しています。 y==0のときはPrincipalクラスの値に対応し、y==1のときはPrincipal名の値に対応します。 たとえばarray[0][0]は、配列の最初にあるPrincipalのクラス名に対応します。array[0][1]は、配列の最初にあるPrincipalのPrincipal名に対応します。- 戻り値:
- このPrivateCredentialPermissionに関連付けられたPrincipalクラスと名前を返します。
 
- 
impliespublic 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。
 
-  
- 
equalspublic boolean equals(Object obj)2つのPrivateCredentialPermissionオブジェクトが等しいかどうかを判定します。objがPrivateCredentialPermissionであり、このオブジェクトと同じ資格クラスおよび同じPrincipalを保持することを確認します。 各Permissionのターゲット名でのPrincipalの順番は関係ありません。- 定義:
- equals、クラス:- Permission
- パラメータ:
- obj- このオブジェクトと等しいかどうかが判定されるオブジェクト。
- 戻り値:
- objがPrivateCredentialPermissionであり、かつ、このオブジェクトと同じ資格クラスおよび同じPrincipalを保持する場合はtrue。
- 関連項目:
- Object.hashCode()、- HashMap
 
- 
hashCodepublic int hashCode()このオブジェクトのハッシュ・コード値を返します。- 定義:
- hashCode、クラス:- Permission
- 戻り値:
- このオブジェクトのハッシュ・コード値。
- 関連項目:
- Object.equals(java.lang.Object),- System.identityHashCode(java.lang.Object)
 
- 
getActionspublic String getActions()アクションの「正規の文字列表現」を返します。 このメソッドは常に「read」というString値を返します。- 定義:
- getActions、クラス:- Permission
- 戻り値:
- アクション(常に「read」を返す)。
 
- 
newPermissionCollectionpublic PermissionCollection newPermissionCollection()PermissionCollectionにあるPrivateCredentialPermissionsの同種コレクションを返します。 そのようなPermissionCollectionは定義されていないので、このメソッドは常にnullを返します。- オーバーライド:
- newPermissionCollection、クラス:- Permission
- 戻り値:
- null (いかなる場合でも)。
 
 
-