public final class PrivateCredentialPermission extends Permission
Subject
私有凭据的访问。
该Subject
由一组校长表示。
此Permission
的目标名称指定了凭证类名称和一组主体。 此权限操作的唯一有效值是“读取”。 目标名称必须遵守以下语法:
CredentialClass {PrincipalClass "PrincipalName"}*
例如,以下权限授予对主体拥有的com.sun.PrivateCredential的访问权限,该对象具有名称为“duke”的com.sun.Principal。
请注意,尽管此示例以及以下所有示例在grant语句中不包含Codebase,SignedBy或Principal信息(出于简单的原因),但实际的策略配置应在适当时指定该信息。
grant {
permission javax.security.auth.PrivateCredentialPermission
"com.sun.PrivateCredential com.sun.Principal \"duke\"",
"read";
};
如果CredentialClass为“*”,则授予对属于指定的Subject的所有私有凭据的访问Subject
。
如果“PrincipalName”为“*”,那么授权给具有指定的Principal
(实际PrincipalName无关紧要)的任何Subject
所拥有的指定Principal
的访问Principal
。
例如,以下授权访问由具有abPrincipal的任何Subject
拥有的abCredential。
grant {
permission javax.security.auth.PrivateCredentialPermission
"a.b.Credential a.b.Principal "*"",
"read";
};
如果PrincipalClass和“PrincipalName”均为“*”,则访问权限将被授予由任何Subject
拥有的指定Subject
。
此外,可以重复PrincipalClass / PrincipalName配对:
grant {
permission javax.security.auth.PrivateCredentialPermission
"a.b.Credential a.b.Principal "duke" c.d.Principal "dukette"",
"read";
};
上述授权访问私有证书,“abCredential”,属于Subject
与至少两个相关联的校长:“abPrincipal”的名称,“公爵”和“cdPrincipal”,名称为“dukette”。
Constructor and Description |
---|
PrivateCredentialPermission(String name, String actions)
创建一个新的
PrivateCredentialPermission 与指定的
name 。
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj)
检查两个
PrivateCredentialPermission 对象的相等性。
|
String |
getActions()
返回动作的“规范字符串表示”。
|
String |
getCredentialClass()
返回与此
PrivateCredentialPermission 关联的凭据的类名。
|
String[][] |
getPrincipals()
返回与此
PrivateCredentialPermission 的
Principal 类和名称。
|
int |
hashCode()
返回此对象的哈希码值。
|
boolean |
implies(Permission p)
检查这
PrivateCredentialPermission 意味着指定的
Permission 。
|
PermissionCollection |
newPermissionCollection()
在PermissionCollection中返回PrivateCredentialPermissions的均匀
PermissionCollection 。
|
checkGuard, getName, toString
public PrivateCredentialPermission(String name, String actions)
PrivateCredentialPermission
与指定的name
。
该name
同时指定凭证类和Principal
集。
name
- 指定Credential类的名称和
Principal
Set。
actions
- 指定可以读取
actions
的操作。
IllegalArgumentException
- 如果
name
不符合正确的语法,或
actions
不是“读”。
public String getCredentialClass()
PrivateCredentialPermission
关联的凭据的类名。
PrivateCredentialPermission
相关联的凭证的类名称。
public String[][] getPrincipals()
PrivateCredentialPermission
的Principal
类和名称。
信息作为二维数组返回(array [x] [y])。
'x'值对应于Principal
类和名称对的数量。
当(y == 0),它对应于Principal
类值,而当(y == 1)时,它对应于Principal
名称值。
例如,array [0] [0]对应于数组中第一个Principal
的类名。
array [0] [1]对应于数组中第一个Principal
的Principal
名称。
Principal
类和名字与这个
PrivateCredentialPermission
。
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
在类别
Permission
p
- 要检查的
Permission
。
PrivateCredentialPermission
意味着指定的
Permission
,则为true,否则为false。
public boolean equals(Object obj)
PrivateCredentialPermission
对象的相等性。
检查obj是否为PrivateCredentialPermission
,并且具有与该对象相同的凭据类,以及与该对象相同的主体。
校长在各自的权限目标名称中的顺序是不相关的。
equals
在类别
Permission
obj
- 我们正在测试与此对象相等的对象。
PrivateCredentialPermission
,则为true,与该对象具有相同的凭证类,并具有与此对象相同的主体。
Object.hashCode()
, HashMap
public int hashCode()
hashCode
在类别
Permission
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public String getActions()
getActions
在类
Permission
public PermissionCollection newPermissionCollection()
PermissionCollection
。
没有这样定义PermissionCollection
,所以这个方法总是返回null
。
newPermissionCollection
在类别
Permission