- java.lang.Object
-
- java.security.Permission
-
- javax.security.auth.PrivateCredentialPermission
-
- All Implemented Interfaces:
-
Serializable
,Guard
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
所有私有凭据的访问权限。 如果“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”的名称,“公爵”和“cdPrincipal”,名称为“dukette”。- 从以下版本开始:
- 1.4
- 另请参见:
- Serialized Form
-
-
构造方法摘要
构造方法 Constructor 描述 PrivateCredentialPermission(String name, String actions)
创建一个新的PrivateCredentialPermission
与指定的name
。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 boolean
equals(Object obj)
检查两个PrivateCredentialPermission
对象的相等性。String
getActions()
返回动作的“规范字符串表示”。String
getCredentialClass()
返回与该PrivateCredentialPermission
相关联的凭据的类名。String[][]
getPrincipals()
返回与此PrivateCredentialPermission
相关联的Principal
类和名称。int
hashCode()
返回此对象的哈希码值。boolean
implies(Permission p)
检查这个PrivateCredentialPermission
意味着指定的Permission
。PermissionCollection
newPermissionCollection()
返回PrivateCredentialPermissions的同类集合在PermissionCollection
。-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from class java.security.Permission
checkGuard, getName, toString
-
-
-
-
构造方法详细信息
-
PrivateCredentialPermission
public PrivateCredentialPermission(String name, String actions)
创建一个新的PrivateCredentialPermission
与指定的name
。name
指定了一个Credential类和一个Principal
集。- 参数
-
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
。如果这个方法返回true:
-
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
,Permission
true,否则为false。
-
-
equals
public boolean equals(Object obj)
检查两个PrivateCredentialPermission
对象是否相等。 检查obj
是一个PrivateCredentialPermission
,并具有与此对象相同的凭证类,以及与此对象相同的主体。 校长在各自的权限目标名称中的顺序是不相关的。- Specified by:
-
equals
在Permission
- 参数
-
obj
- 我们正在测试与该对象相等的对象。 - 结果
-
true如果obj是一个
PrivateCredentialPermission
,具有与该对象相同的凭据类,并且具有与该对象相同的主体。 - 另请参见:
-
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
- 结果
- 动作(总是返回“read”)。
-
newPermissionCollection
public PermissionCollection newPermissionCollection()
返回PrivateCredentialPermissions的同类集合在PermissionCollection
。 没有这样定义PermissionCollection
,所以这个方法总是返回null
。- 重写:
-
newPermissionCollection
在Permission
- 结果
- 在所有情况下都为null。
-
-