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」へのアクセスが許可されます。| コンストラクタと説明 |
|---|
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 の同種コレクションを返します。 |
checkGuard, getName, toStringpublic PrivateCredentialPermission(String name, String actions)
name で新しい PrivateCredentialPermission を作成します。name には、Credential クラスと Principal の Set の両方を指定します。
name - Credential クラスおよび Principal の Set を指定する名前。actions - Credential が読み込み可能であることを指定するアクション。IllegalArgumentException - name の構文が正しくない場合、または actions が「read」(読み取り) ではない場合。public String getCredentialClass()
PrivateCredentialPermission に関連付けられた Credential の Class 名を返します。
PrivateCredentialPermission に関連付けられた Credential の Class 名。public 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 クラスと名前を返します。public boolean implies(Permission p)
PrivateCredentialPermission が、指定された Permission を示すかどうかを判定します。
このメソッドは次の場合に true を返します。
[* 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、クラス: Permissionp - チェック対象の Permission。PrivateCredentialPermission が指定された Permission を示す場合は true、示さない場合は false。public boolean equals(Object obj)
PrivateCredentialPermission オブジェクトが等しいかどうかを判定します。obj が PrivateCredentialPermission であり、このオブジェクトと同じ資格クラスおよび同じ Principal を保持することを確認します。各 Permission のターゲット名での Principal の順番は関係ありません。
equals、クラス: Permissionobj - このオブジェクトと等しいかどうかが判定されるオブジェクト。PrivateCredentialPermission であり、かつ、このオブジェクトと同じ資格クラスおよび同じ Principal を保持する場合は true。Object.hashCode()、HashMappublic int hashCode()
hashCode、クラス: PermissionObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public String getActions()
getActions、クラス: Permissionpublic PermissionCollection newPermissionCollection()
PermissionCollection にある PrivateCredentialPermissions の同種コレクションを返します。そのような PermissionCollection は定義されていないので、このメソッドは常に null を返します。
newPermissionCollection、クラス: Permission バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.