|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.security.auth
类 PrivateCredentialPermission
java.lang.Object java.security.Permission javax.security.auth.PrivateCredentialPermission
- 所有已实现的接口:
- Serializable, Guard
-
public final class PrivateCredentialPermission
- extends Permission
此类用来保护对属于特定 Subject
的私有 Credential 的访问。Subject
通过 Principals Set 表示。
此 Permission
的目标名称指定了一个 Credential 类名和一个 Principals Set。此 Permission 的操作的惟一有效值是 "read"。目标名称必须遵守下面的语法:
CredentialClass {PrincipalClass "PrincipalName"}*例如,下面的权限授予对 Subjects 拥有的 com.sun.PrivateCredential 的访问,该 Subjects 有一个 com.sun.Principal,名称为 "duke"。注意,尽管此例子(以及下面的所有例子)在 grant 语句中不包含 Codebase、SignedBy 或 Principal 信息(为了使例子简单),但是实际的策略配置在适当的时候应该指定该信息。
grant { permission javax.security.auth.PrivateCredentialPermission "com.sun.PrivateCredential com.sun.Principal \"duke\"", "read"; };如果 CredentialClass 为 "*",那么授予属于指定的
Subject
的所有 Credential 访问权限。如果 "PrincipalName" 为 "*",那么授予指定的由任何 Subject
拥有的 Credential 访问权限,此 Subject
具有指定的 Principal
(实际的 PrincipalName 无关紧要)。例如,下面的语句授予对任何有 a.b.Principal 的 Subject
所拥有的 a.b.Credential 访问权限。
grant { permission javax.security.auth.PrivateCredentialPermission "a.b.Credential a.b.Principal "*"", "read"; };如果 PrincipalClass 和 "PrincipalName" 都为 "*",那么授予由任何
Subject
拥有的指定的 Credential 访问权限。
另外,PrincipalClass/PrincipalName 对可以重复:
grant { permission javax.security.auth.PrivateCredentialPermission "a.b.Credential a.b.Principal "duke" c.d.Principal "dukette"", "read"; };上面的语句授予对私有 Credential("a.b.Credential")的访问权限,"a.b.Credential" 属于带有至少两个 Principals 的
Subject
:名称为 "duke" 的 "a.b.Principal",和名称为 "dukette" 的 "c.d.Principal"。
- 另请参见:
- 序列化表格
构造方法摘要 | |
---|---|
PrivateCredentialPermission(String name, String actions) 创建具有指定 name 的新 PrivateCredentialPermission 。 |
方法摘要 | |
---|---|
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() 返回 PermissionCollection 中同类的 PrivateCredentialPermissions 集合。 |
从类 java.security.Permission 继承的方法 |
---|
checkGuard, getName, toString |
从类 java.lang.Object 继承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
PrivateCredentialPermission
public PrivateCredentialPermission(String name, String actions)
-
创建具有指定
name
的新PrivateCredentialPermission
。name
指定了一个 Credential 类和一个Principal
集合。- 参数:
-
name
- 指定 Credential 类和Principal
集合的名称。 -
actions
- 指定 Credential 能够被读取的操作。 - 抛出:
-
IllegalArgumentException
- 如果name
没有遵循正确的语法或者如果actions
不是 "read"。
方法详细信息 |
---|
getCredentialClass
public String getCredentialClass()
-
返回与此
PrivateCredentialPermission
相关联的 Credential 的 Class 名称。 -
- 返回:
-
与此
PrivateCredentialPermission
相关联的 Credential 的 Class 名称。
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
名。 -
- 返回:
-
与此
PrivateCredentialPermission
相关联的Principal
类和名称。
implies
public boolean implies(Permission p)
-
检查此
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"].
-
- 指定者:
-
类
Permission
中的implies
-
- 参数:
-
p
- 所要检查的Permission
。 - 返回:
-
如果此
PrivateCredentialPermission
隐含了指定的Permission
,则返回 true;否则返回 false。
equals
public boolean equals(Object obj)
-
检查两个
PrivateCredentialPermission
对象是否相等。检查 obj 是否为PrivateCredentialPermission
,是否与此对象具有相同的 credential 类以及相同的 Principals。在各自的 Permission 的目标名称中的 Principals 的顺序是无关的。 -
- 指定者:
-
类
Permission
中的equals
-
- 参数:
-
obj
- 要与此对象进行相等性测试的对象。 - 返回:
-
如果 obj 为
PrivateCredentialPermission
,与此对象具有相同的 credential 类以及相同的 Principals,则返回 true。 - 另请参见:
-
Object.hashCode()
,Hashtable
hashCode
public int hashCode()
- 返回此对象的哈希码值。
-
- 指定者:
-
类
Permission
中的hashCode
-
- 返回:
- 此对象的哈希码值。
- 另请参见:
-
Object.equals(java.lang.Object)
,Hashtable
getActions
public String getActions()
- 返回操作的“规范的字符串表示形式”。此方法总是返回 String "read"。
-
- 指定者:
-
类
Permission
中的getActions
-
- 返回:
- 操作(总是返回 "read")。
newPermissionCollection
public PermissionCollection newPermissionCollection()
-
返回
PermissionCollection
中同类的 PrivateCredentialPermissions 集合。没有定义这种PermissionCollection
,所以此方法总是返回null
。 -
- 覆盖:
-
类
Permission
中的newPermissionCollection
-
- 返回:
- 所有情况下都返回 null。