java.lang.Object
java.security.Permission
javax.security.auth.PrivateCredentialPermission
- 所有已实现的接口:
-
Serializable,Guard
此类用于保护属于特定
Subject的私有凭据的访问。 Subject由一组Principals表示。
此Permission的目标名称指定了一个凭据类名和一组Principals。此权限的操作的唯一有效值是"read"。目标名称必须遵守以下语法:
CredentialClass {PrincipalClass "PrincipalName"}*
例如,以下权限授予对由具有名称"duke"的com.sun.Principal拥有的com.sun.PrivateCredential的访问权限。请注意,尽管此示例以及下面的所有示例在授予语句中(出于简单起见)不包含Codebase、SignedBy或Principal信息,但实际的策略配置应在适当时指定该信息。
grant {
permission javax.security.auth.PrivateCredentialPermission
"com.sun.PrivateCredential com.sun.Principal \"duke\"",
"read";
};
如果CredentialClass为"*",则授予对指定Subject拥有的所有私有凭据的访问权限。如果"PrincipalName"为"*",则授予对由具有指定Principal(实际PrincipalName无关紧要)的任何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";
};
上述示例授予对私有凭据"a.b.Credential"的访问权限,该凭据属于至少有两个关联Principals的Subject:"a.b.Principal"名称为"duke",以及"c.d.Principal"名称为"dukette"。
- 自从:
- 1.4
- 参见:
-
Constructor Summary
ConstructorsConstructorDescriptionPrivateCredentialPermission(String name, String actions) 创建一个具有指定name的新PrivateCredentialPermission。 -
Method Summary
Modifier and TypeMethodDescriptionboolean检查两个PrivateCredentialPermission对象是否相等。返回操作的"规范字符串表示"。返回与此PrivateCredentialPermission关联的凭据的类名。String[][]返回与此PrivateCredentialPermission关联的Principal类和名称。inthashCode()返回此对象的哈希码值。boolean检查此PrivateCredentialPermission是否包含指定的Permission。在PermissionCollection中返回一组同类的PrivateCredentialPermissions。Methods declared in class java.security.Permission
checkGuard, getName, toString
-
Constructor Details
-
PrivateCredentialPermission
创建一个具有指定name的新PrivateCredentialPermission。name指定了凭据类和Principal集。- 参数:
-
name- 指定凭据类和Principal集的名称。 -
actions- 指定凭据可读取的操作。 - 抛出:
-
IllegalArgumentException- 如果name不符合正确的语法或actions不是"read"。
-
-
Method Details
-
getCredentialClass
返回与此PrivateCredentialPermission关联的凭据的类名。- 返回:
-
与此
PrivateCredentialPermission关联的凭据的类名。
-
getPrincipals
返回与此PrivateCredentialPermission关联的Principal类和名称。信息以二维数组(array[x][y])的形式返回。 'x'值对应于Principal类和名称对的数量。当(y==0)时,它对应于Principal类值,当(y==1)时,它对应于Principal名称值。例如,array[0][0]对应于数组中第一个Principal的类名。array[0][1]对应于数组中第一个Principal的Principal名称。- 返回:
-
与此
PrivateCredentialPermission关联的Principal类和名称。
-
implies
检查此PrivateCredentialPermission是否包含指定的Permission。如果此方法返回true,则:
p是PrivateCredentialPermission的一个实例,并且p的目标名称由此对象的目标名称暗示。例如:[* P1 "duke"] 暗示 [a.b.Credential P1 "duke"]。 [C1 P1 "duke"] 暗示 [C1 P1 "duke" P2 "dukette"]。 [C1 P2 "dukette"] 暗示 [C1 P1 "duke" P2 "dukette"]。
- 指定者:
-
implies在类中Permission - 参数:
-
p- 要检查的Permission。 - 返回:
-
如果此
PrivateCredentialPermission暗示指定的Permission,则返回true;否则返回false。
-
equals
检查两个PrivateCredentialPermission对象是否相等。检查obj是否为PrivateCredentialPermission,并且具有与此对象相同的凭据类,以及与此对象相同的Principals。在各自Permission的目标名称中Principals的顺序不相关。- 指定者:
-
equals在类中Permission - 参数:
-
obj- 我们正在测试与此对象相等的对象。 - 返回:
-
如果obj是
PrivateCredentialPermission,具有与此对象相同的凭据类和与此对象相同的Principals,则返回true。 - 参见:
-
hashCode
public int hashCode()返回此对象的哈希码值。- 指定者:
-
hashCode在类中Permission - 返回:
- 此对象的哈希码值。
- 参见:
-
getActions
返回操作的"规范字符串表示"。此方法始终返回字符串"read"。- 指定者:
-
getActions在类中Permission - 返回:
- 操作(始终返回"read")。
-
newPermissionCollection
在PermissionCollection中返回一组同类的PrivateCredentialPermissions。未定义此类PermissionCollection,因此此方法始终返回null。- 覆盖:
-
newPermissionCollection在类中Permission - 返回:
- 在所有情况下返回null。
-