JavaTM Platform
Standard Ed. 6

javax.security.auth
クラス PrivateCredentialPermission

java.lang.Object
  上位を拡張 java.security.Permission
      上位を拡張 javax.security.auth.PrivateCredentialPermission
すべての実装されたインタフェース:
Serializable, Guard

public final class PrivateCredentialPermission
extends Permission

text/html; charset=euc-jp このクラスは、特定の Subject に属する非公開 Credential をアクセスから保護します。サブジェクトは、主体のセットによって表されます。

この 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 に属するすべての非公開 Credential へのアクセスが付与されます。「PrincipalName」が「*」の場合は、実際の PrincipalName に関係なく、指定した Principal を保持する任意の Subject が所有する、指定した Credential へのアクセスが許可されます。たとえば、a.b.Principal を保持する任意の Subject が所有する a.b.Credential へのアクセスを許可するには次のようにします。
grant {
        permission javax.security.auth.PrivateCredentialPermission
                "a.b.Credential a.b.Principal "*"",
                "read";
    };
 
PrincipalClass と "PrincipalName" の両方が "*" である場合は、任意の Subject が所有する指定した Credential へのアクセスが許可されます。

さらに、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」へのアクセスが許可されます。

関連項目:
直列化された形式

コンストラクタの概要
PrivateCredentialPermission(String name, String actions)
          指定した name で、新しい PrivateCredentialPermission を作成します。
 
メソッドの概要
 boolean equals(Object obj)
          2 つの PrivateCredentialPermission の同一性を判定します。
 String getActions()
          アクションの「正規の文字列表現」を返します。
 String getCredentialClass()
          この PrivateCredentialPermission に関連した Credential の Class 名を返します。
 String[][] getPrincipals()
          この PrivateCredentialPermission に関連する Principal クラスと名前を返します。
 int hashCode()
          このオブジェクトのハッシュコード値を返します。
 boolean implies(Permission p)
          この PrivateCredentialPermission オブジェクトが、指定された Permission を示すかどうかを判定します。
 PermissionCollection newPermissionCollection()
          PermissionCollection にある PrivateCredentialPermissions の同種コレクションを返します。
 
クラス java.security.Permission から継承されたメソッド
checkGuard, getName, toString
 
クラス java.lang.Object から継承されたメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

PrivateCredentialPermission

public PrivateCredentialPermission(String name,
                                   String actions)
指定した name で、新しい PrivateCredentialPermission を作成します。name には、Credential クラスと Principal の Set の両方を指定します。

パラメータ:
name - Credential クラスおよび Principal の Set を指定する名前

actions - Credential が読み込み可能であることを指定するアクション
例外:
IllegalArgumentException - name の構文が正しくない場合、または action が「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 のとき y は Principal クラスの値に対応し、y==1 のときは Principal 名の値に対応します。たとえば array[0][0] は、配列の最初にある Principal のクラス名に対応します。array[0][1] は、配列の最初にある PrincipalPrincipal 名に対応します。

戻り値:
PrivateCredentialPermission に関連付けられた Principal クラスと名前

implies

public boolean implies(Permission p)
この PrivateCredentialPermission オブジェクトが、指定された Permission を示すかどうかを判定します。

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

定義:
クラス Permission 内の implies
パラメータ:
p - チェック対象の Permission
戻り値:
この PrivateCredentialPermission オブジェクトに指定された Permission が含まれている場合は true、含まれていない場合は false

equals

public boolean equals(Object obj)
2 つの PrivateCredentialPermission の同一性を判定します。objPrivateCredentialPermission であり、このオブジェクトと同じ資格クラスおよび同じ Principal を保持することを確認します。各 Permission のターゲット名での Principal の順番は関係ありません。

定義:
クラス Permission 内の equals
パラメータ:
obj - このオブジェクトと等しいかどうかを判定するオブジェクト
戻り値:
obj が PrivateCredentialPermission であり、かつ、このオブジェクトと同じ資格クラスおよび同じ Principal を保持する場合は true
関連項目:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
このオブジェクトのハッシュコード値を返します。

定義:
クラス Permission 内の hashCode
戻り値:
このオブジェクトのハッシュコード値
関連項目:
Object.equals(java.lang.Object), Hashtable

getActions

public String getActions()
アクションの「正規の文字列表現」を返します。このメソッドは常に「read」という String 値を返します。

定義:
クラス Permission 内の getActions
戻り値:
アクション (常に「read」を返す)

newPermissionCollection

public PermissionCollection newPermissionCollection()
PermissionCollection にある PrivateCredentialPermissions の同種コレクションを返します。そのような PermissionCollection は定義されていないので、このメソッドは常に null を返します。

オーバーライド:
クラス Permission 内の newPermissionCollection
戻り値:
null (いかなる場合でも)

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。