- java.lang.Object
-
- java.security.Permission
-
- javax.security.auth.PrivateCredentialPermission
-
- 实现的所有接口
-
Serializable
,Guard
public final class PrivateCredentialPermission extends Permission
此类用于保护对属于特定Subject
私有凭据的访问。Subject
由一组主体表示。此
Permission
的目标名称指定Credential类名称和一组Principal。 此权限操作的唯一有效值是“读取”。 目标名称必须遵循以下语法: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
所有私有凭据的访问权限。 如果“PrincipalName”为“*”,则对具有指定的Principal
(实际PrincipalName无关紧要)的任何Subject
所拥有的指定凭据授予访问权限。 例如,以下内容授予对任何具有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"; };
以上授予访问私人凭证“abCredential”,属于Subject
,至少有两个相关的委托人:“abPrincipal”,名称为“duke”,“cdPrincipal”,名称为“dukette”。- 从以下版本开始:
- 1.4
- 另请参见:
- Serialized Form
-
-
构造方法摘要
构造方法 构造器 描述 PrivateCredentialPermission(String name, String actions)
创建一个新的PrivateCredentialPermission
具有指定name
。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 boolean
equals(Object obj)
检查两个PrivateCredentialPermission
对象是否相等。String
getActions()
返回操作的“规范字符串表示形式”。String
getCredentialClass()
返回与此PrivateCredentialPermission
关联的Credential的Class名称。String[][]
getPrincipals()
返回与此PrivateCredentialPermission
关联的Principal
类和名称。int
hashCode()
返回此对象的哈希码值。boolean
implies(Permission p)
检查此PrivateCredentialPermission
暗示指定的Permission
。PermissionCollection
newPermissionCollection()
返回PrivateCredentialPermissions的同类集合在一个PermissionCollection
。-
声明方法的类 java.security.Permission
checkGuard, getName, toString
-
-
-
-
构造方法详细信息
-
PrivateCredentialPermission
public PrivateCredentialPermission(String name, String actions)
创建一个新的PrivateCredentialPermission
具有指定name
。name
指定Credential类和Principal
Set。- 参数
-
name
- 指定Credential类的名称和Principal
Set。 -
actions
- 指定可以读取凭据的操作。 - 异常
-
IllegalArgumentException
- 如果name
不符合正确的语法或actions
未“读取”。
-
-
方法详细信息
-
getCredentialClass
public String getCredentialClass()
返回与此PrivateCredentialPermission
关联的凭据的类名称。- 结果
-
与此
PrivateCredentialPermission
关联的凭据的类名称。
-
getPrincipals
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
相关联的名称。
-
implies
public boolean implies(Permission p)
检查此PrivateCredentialPermission
暗示指定的Permission
。如果出现以下情况,则此方
-
p
是p
的实例 - 此对象的目标名称隐含了
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"].
- Specified by:
-
implies
在Permission
类中 - 参数
-
p
- 要检查的Permission
。 - 结果
-
如果此
PrivateCredentialPermission
表示指定的Permission
,则返回true,否则Permission
false。
-
-
equals
public boolean equals(Object obj)
检查两个PrivateCredentialPermission
对象是否相等。 检查obj
是否为PrivateCredentialPermission
,并且具有与此对象相同的凭证类,以及与此对象相同的Principals。 各个权限的目标名称中的委托人的顺序无关紧要。- Specified by:
-
equals
在Permission
类 - 参数
-
obj
- 我们正在测试与此对象相等的对象。 - 结果
-
如果obj是
PrivateCredentialPermission
,则为PrivateCredentialPermission
,与此对象具有相同的凭证类,并且具有与此对象相同的Principal。 - 另请参见:
-
Object.hashCode()
,HashMap
-
hashCode
public int hashCode()
返回此对象的哈希码值。- Specified by:
-
hashCode
在Permission
类 - 结果
- 此对象的哈希码值。
- 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
getActions
public String getActions()
返回操作的“规范字符串表示形式”。 此方法始终返回String“read”。- Specified by:
-
getActions
在Permission
类中 - 结果
- 动作(总是返回“读”)。
-
newPermissionCollection
public PermissionCollection newPermissionCollection()
返回PrivateCredentialPermissions的同类集合在一个PermissionCollection
。 没有定义此类PermissionCollection
,因此此方法始终返回null
。- 重写:
-
newPermissionCollection
在Permission
类 - 结果
- 在所有情况下都为null。
-
-