java.lang.Object
java.security.ProtectionDomain
ProtectionDomain
类封装了域的特征,其中包含一组类,这些类的实例在代表一组给定的 Principals 执行时被授予一组权限。
一组静态权限可以在构造时绑定到ProtectionDomain
;无论现行策略如何,都会向域授予此类权限。但是,为了支持动态安全策略,ProtectionDomain
也可以构造成在检查权限时根据当前策略动态映射到一组权限。
- 自从:
- 1.2
-
构造方法总结
构造方法构造方法描述ProtectionDomain
(CodeSource codesource, PermissionCollection permissions) 使用给定的CodeSource
和权限创建一个新的ProtectionDomain
。ProtectionDomain
(CodeSource codesource, PermissionCollection permissions, ClassLoader classloader, Principal[] principals) 创建一个由给定的CodeSource
、权限、ClassLoader
和主体数组限定的新ProtectionDomain
。 -
方法总结
修饰符和类型方法描述final ClassLoader
返回此域的ClassLoader
。final CodeSource
返回此域的CodeSource
。final PermissionCollection
返回授予此域的静态权限。final Principal[]
返回此域的主体数组。boolean
implies
(Permission perm) 检查并查看此ProtectionDomain
是否暗示了Permission
对象中表达的权限。final boolean
如果此域仅包含静态权限并且在权限检查时不检查当前的Policy
,则返回true
。toString()
将ProtectionDomain
转换为String
。
-
构造方法详细信息
-
ProtectionDomain
使用给定的CodeSource
和权限创建一个新的ProtectionDomain
。如果 permissions 不是null
,那么setReadOnly()
将在传入的权限上调用。授予该域的权限是静态的,即调用
staticPermissionsOnly()
方法返回true
。它们仅包含传递给此构造函数的那些,不会咨询当前策略。- 参数:
codesource
- 与此域关联的代码源permissions
- 授予该域的权限
-
ProtectionDomain
public ProtectionDomain(CodeSource codesource, PermissionCollection permissions, ClassLoader classloader, Principal [] principals) 创建一个由给定的CodeSource
、权限、ClassLoader
和主体数组限定的新ProtectionDomain
。如果 permissions 不是null
,那么setReadOnly()
将在传入的权限上调用。授予该域的权限是动态的,即调用
staticPermissionsOnly()
方法返回false
。它们包括传递给此构造函数的静态权限,以及检查权限时当前策略授予此域的任何权限。此构造函数通常由
ClassLoaders
和DomainCombiners
使用,它们委托给Policy
对象以主动关联授予该域的权限。此构造函数为策略提供者提供了扩充提供的PermissionCollection
以反映策略更改的机会。- 参数:
codesource
- 与此域关联的CodeSource
permissions
- 授予该域的权限classloader
- 与此域关联的ClassLoader
principals
- 与此域关联的Principal
对象的数组。复制数组的内容以防止后续修改。- 自从:
- 1.4
- 参见:
-
-
方法详情
-
getCodeSource
返回此域的CodeSource
。- 返回:
-
该域的
CodeSource
可能是null
。 - 自从:
- 1.2
-
getClassLoader
返回此域的ClassLoader
。- 返回:
-
该域的
ClassLoader
可能是null
。 - 自从:
- 1.4
-
getPrincipals
返回此域的主体数组。- 返回:
- 该域的主体的非空数组。每次调用此方法时返回一个新数组。
- 自从:
- 1.4
-
getPermissions
返回授予此域的静态权限。- 返回:
-
该域的静态权限集可能是
null
。 - 参见:
-
staticPermissionsOnly
public final boolean staticPermissionsOnly()如果此域仅包含静态权限并且在权限检查时不检查当前的Policy
,则返回true
。- 返回:
true
如果此域仅包含静态权限。- 自从:
- 9
-
implies
检查并查看此ProtectionDomain
是否暗示了Permission
对象中表达的权限。所评估的权限集取决于
ProtectionDomain
是使用静态权限集构造的还是绑定到动态映射的权限集。如果
staticPermissionsOnly()
方法返回true
,则只会根据构造时提供的PermissionCollection
检查权限。否则,将根据构建时提供的
PermissionCollection
和当前策略绑定的组合检查权限。- 参数:
perm
- 要检查的 {code Permission} 对象。- 返回:
true
如果perm
被这个ProtectionDomain
暗示。
-
toString
将ProtectionDomain
转换为String
。
-