java.lang.Object
java.security.Permission
javax.security.auth.PrivateCredentialPermission
- 所有已实现的接口:
Serializable
,Guard
此类用于保护对属于特定
Subject
的私有凭证的访问。 Subject
由一组主体表示。
这个 Permission
的目标名称指定了一个 Credential 类名和一组 Principals。此权限操作的唯一有效值是“读取”。目标名称必须遵守以下语法:
CredentialClass {PrincipalClass "PrincipalName"}*例如,以下权限授予对 com.sun.PrivateCredential 的访问权,该 com.sun.PrivateCredential 由具有名称为“duke”的 com.sun.Principal 的主体拥有。请注意,尽管此示例以及下面的所有示例在授权声明中不包含 Codebase、SignedBy 或 Principal 信息(出于简单原因),但实际策略配置应在适当时指定该信息。
grant { permission javax.security.auth.PrivateCredentialPermission "com.sun.PrivateCredential com.sun.Principal \"duke\"", "read"; };如果 CredentialClass 为“*”,则授予对属于指定
Subject
的所有私有凭证的访问权限。如果“PrincipalName”为“*”,则授予对任何具有指定 Principal
的 Subject
所拥有的指定凭据的访问权限(实际的 PrincipalName 无关紧要)。例如,以下授予对任何具有 abPrincipal 的 Subject
所拥有的 abCredential 的访问权限。
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"; };以上授予对属于
Subject
的私有凭证“abCredential”的访问权限,该 Subject
至少有两个关联的主体:名称为“duke”的“abPrincipal”和名称为“dukette”的“cdPrincipal”。
- 自从:
- 1.4
- 参见:
-
构造方法总结
构造方法构造方法描述PrivateCredentialPermission
(String name, String actions) 使用指定的name
创建一个新的PrivateCredentialPermission
。 -
方法总结
修饰符和类型方法描述boolean
检查两个PrivateCredentialPermission
对象是否相等。返回操作的“规范字符串表示”。返回与此PrivateCredentialPermission
关联的凭证的类名。String[][]
返回与此PrivateCredentialPermission
关联的Principal
类和名称。int
hashCode()
返回此对象的哈希码值。boolean
检查此PrivateCredentialPermission
是否暗示指定的Permission
。在PermissionCollection
中返回 PrivateCredentialPermissions 的同类集合。在类 java.security.Permission 中声明的方法
checkGuard, getName, toString
-
构造方法详细信息
-
PrivateCredentialPermission
使用指定的name
创建一个新的PrivateCredentialPermission
。name
指定了 Credential 类和Principal
Set。- 参数:
name
- 指定凭证类和Principal
集的名称。actions
- 指定可以读取凭据的操作。- 抛出:
IllegalArgumentException
- 如果name
不符合正确的语法或如果actions
未被“读取”。
-
-
方法详情
-
getCredentialClass
返回与此PrivateCredentialPermission
关联的凭证的类名。- 返回:
-
与此
PrivateCredentialPermission
关联的凭证的类名。
-
getPrincipals
返回与此PrivateCredentialPermission
关联的Principal
类和名称。信息以二维数组 (array[x][y]) 的形式返回。 “x”值对应于Principal
类和名称对的数量。当(y==0)时,对应Principal
class值,当(y==1)时,对应Principal
name值。例如,array[0][0]对应数组中第一个Principal
的类名。 array[0][1] 对应数组中第一个Principal
的Principal
名称。- 返回:
-
与此
PrivateCredentialPermission
关联的Principal
类和名称。
-
implies
检查此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
则为真,否则为假。
-
equals
检查两个PrivateCredentialPermission
对象是否相等。检查obj
是一个PrivateCredentialPermission
,并且具有与该对象相同的凭证类,以及与该对象相同的 Principals。 Principals 在各自权限的目标名称中的顺序是不相关的。- 指定者:
equals
在类Permission
中- 参数:
obj
- 我们正在测试与此对象是否相等的对象。- 返回:
-
如果 obj 是
PrivateCredentialPermission
,具有与此对象相同的凭证类,并且与此对象具有相同的主体,则为真。 - 参见:
-
hashCode
public int hashCode()返回此对象的哈希码值。- 指定者:
hashCode
在类Permission
中- 返回:
- 此对象的哈希码值。
- 参见:
-
getActions
返回操作的“规范字符串表示”。此方法始终返回字符串“read”。- 指定者:
getActions
在类Permission
中- 返回:
- 动作(总是返回“read”)。
-
newPermissionCollection
在PermissionCollection
中返回 PrivateCredentialPermissions 的同类集合。没有这样的PermissionCollection
被定义,所以这个方法总是返回null
。- 重写:
newPermissionCollection
在类Permission
中- 返回:
- 在所有情况下均为 null。
-