java.lang.Object
java.security.Permission
javax.security.auth.PrivateCredentialPermission
- 所有已实现的接口:
-
Serializable
,Guard
此类用于保护属于特定
Subject
的私有凭据的访问。 Subject
由一组Principals表示。
此Permission
的目标名称指定了一个凭据类名和一组Principals。此权限的操作的唯一有效值是"read"。目标名称必须遵守以下语法:
CredentialClass {PrincipalClass "PrincipalName"}*例如,以下权限授予对由具有名称"duke"的com.sun.Principal拥有的com.sun.PrivateCredential的访问权限。请注意,尽管此示例以及下面的所有示例在授予语句中(出于简单起见)不包含Codebase、SignedBy或Principal信息,但实际的策略配置应在适当时指定该信息。
grant { permission javax.security.auth.PrivateCredentialPermission "com.sun.PrivateCredential com.sun.Principal \"duke\"", "read"; };如果CredentialClass为"*",则授予对指定
Subject
拥有的所有私有凭据的访问权限。如果"PrincipalName"为"*",则授予对由具有指定Principal
(实际PrincipalName无关紧要)的任何Subject
拥有的指定凭据的访问权限。例如,以下示例授予对由具有a.b.Principal的任何Subject
拥有的a.b.Credential的访问权限。
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"; };上述示例授予对私有凭据"a.b.Credential"的访问权限,该凭据属于至少有两个关联Principals的
Subject
:"a.b.Principal"名称为"duke",以及"c.d.Principal"名称为"dukette"。
- 自从:
- 1.4
- 参见:
-
Constructor Summary
ConstructorDescriptionPrivateCredentialPermission
(String name, String actions) 创建一个具有指定name
的新PrivateCredentialPermission
。 -
Method Summary
Modifier and TypeMethodDescriptionboolean
检查两个PrivateCredentialPermission
对象是否相等。返回操作的"规范字符串表示"。返回与此PrivateCredentialPermission
关联的凭据的类名。String[][]
返回与此PrivateCredentialPermission
关联的Principal
类和名称。int
hashCode()
返回此对象的哈希码值。boolean
检查此PrivateCredentialPermission
是否包含指定的Permission
。在PermissionCollection
中返回一组同类的PrivateCredentialPermissions。Methods declared in class java.security.Permission
checkGuard, getName, toString
-
Constructor Details
-
PrivateCredentialPermission
创建一个具有指定name
的新PrivateCredentialPermission
。name
指定了凭据类和Principal
集。- 参数:
-
name
- 指定凭据类和Principal
集的名称。 -
actions
- 指定凭据可读取的操作。 - 抛出:
-
IllegalArgumentException
- 如果name
不符合正确的语法或actions
不是"read"。
-
-
Method Details
-
getCredentialClass
返回与此PrivateCredentialPermission
关联的凭据的类名。- 返回:
-
与此
PrivateCredentialPermission
关联的凭据的类名。
-
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
检查此PrivateCredentialPermission
是否包含指定的Permission
。如果此方法返回true,则:
p
是PrivateCredentialPermission的一个实例,并且p
的目标名称由此对象的目标名称暗示。例如:[* P1 "duke"] 暗示 [a.b.Credential P1 "duke"]。 [C1 P1 "duke"] 暗示 [C1 P1 "duke" P2 "dukette"]。 [C1 P2 "dukette"] 暗示 [C1 P1 "duke" P2 "dukette"]。
- 指定者:
-
implies
在类中Permission
- 参数:
-
p
- 要检查的Permission
。 - 返回:
-
如果此
PrivateCredentialPermission
暗示指定的Permission
,则返回true;否则返回false。
-
equals
检查两个PrivateCredentialPermission
对象是否相等。检查obj
是否为PrivateCredentialPermission
,并且具有与此对象相同的凭据类,以及与此对象相同的Principals。在各自Permission的目标名称中Principals的顺序不相关。- 指定者:
-
equals
在类中Permission
- 参数:
-
obj
- 我们正在测试与此对象相等的对象。 - 返回:
-
如果obj是
PrivateCredentialPermission
,具有与此对象相同的凭据类和与此对象相同的Principals,则返回true。 - 参见:
-
hashCode
public int hashCode()返回此对象的哈希码值。- 指定者:
-
hashCode
在类中Permission
- 返回:
- 此对象的哈希码值。
- 参见:
-
getActions
返回操作的"规范字符串表示"。此方法始终返回字符串"read"。- 指定者:
-
getActions
在类中Permission
- 返回:
- 操作(始终返回"read")。
-
newPermissionCollection
在PermissionCollection
中返回一组同类的PrivateCredentialPermissions。未定义此类PermissionCollection
,因此此方法始终返回null
。- 覆盖:
-
newPermissionCollection
在类中Permission
- 返回:
- 在所有情况下返回null。
-