|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.security
类 ProtectionDomain
java.lang.Object java.security.ProtectionDomain
-
public class ProtectionDomain
- extends Object
此 ProtectionDomain 类 封装域的特征,域中包装一个类集合,在代表给定的主体集合执行这些类的实例时会授予它们一个权限集合。
在构造 ProtectionDomain 时可以对它绑定一个静态的权限集合;不管 Policy 是否有效,都会将这些权限授予域。但是,为了支持动态安全策略,也可以构造 ProtectionDomain,使得只要检查权限时就能通过当前 Policy 将其动态地映射到一个权限集合。
构造方法摘要 | |
---|---|
ProtectionDomain(CodeSource codesource, PermissionCollection permissions) 创建具有给定 CodeSource 和 Permissions 的新 ProtectionDomain。 |
|
ProtectionDomain(CodeSource codesource, PermissionCollection permissions, ClassLoader classloader, Principal[] principals) 创建由给定的 CodeSource、Permissions、ClassLoader 和 Principal 数组限定的新 ProtectionDomain。 |
方法摘要 | |
---|---|
ClassLoader |
getClassLoader() 返回此域的 ClassLoader。 |
CodeSource |
getCodeSource() 返回此域的 CodeSource。 |
PermissionCollection |
getPermissions() 返回授予此域的静态权限。 |
Principal[] |
getPrincipals() 返回此域的 principals 数组。 |
boolean |
implies(Permission permission) 查看此 ProtectionDomain 是否暗含了 Permission 对象中表示的权限。 |
String |
toString() 将 ProtectionDomain 转换成为 String。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
ProtectionDomain
public ProtectionDomain(CodeSource codesource, PermissionCollection permissions)
-
创建具有给定 CodeSource 和 Permissions 的新 ProtectionDomain。如果 permissions 对象不为 null,那么将在传入的 Permissions 对象上调用
setReadOnly()
。只授予此域那些指定的权限;不参考当前的 Policy。- 参数:
-
codesource
- 与此域关联的 codesource -
permissions
- 授予此域的权限
ProtectionDomain
public ProtectionDomain(CodeSource codesource, PermissionCollection permissions, ClassLoader classloader, Principal[] principals)
-
创建由给定的 CodeSource、Permissions、ClassLoader 和 Principal 数组限定的新 ProtectionDomain。如果 permissions 对象不为 null,那么将在传入的 Permissions 对象上调用
setReadOnly()
。授予此域的权限是动态的;它们包括传递给此构造方法的静态权限以及检查权限时当前 Policy 授予此域的任何权限。此构造方法通常由
ClassLoaders
和DomainCombiners
使用,它们委托Policy
积极地关联授予此域的权限。此构造方法为 Policy provider 提供扩充 PermissionCollection 的机会以反映策略变化。- 参数:
-
codesource
- 与此域关联的 CodeSource -
permissions
- 授予此域的权限 -
classloader
- 与此域关联的 ClassLoader -
principals
- 与此域关联的 Principals。复制数组的内容,以防随后进行修改。 - 从以下版本开始:
- 1.4
- 另请参见:
-
Policy.refresh()
,Policy.getPermissions(ProtectionDomain)
方法详细信息 |
---|
getCodeSource
public final CodeSource getCodeSource()
- 返回此域的 CodeSource。
-
- 返回:
- 此域的 CodeSource,它可以为 null。
- 从以下版本开始:
- 1.2
getClassLoader
public final ClassLoader getClassLoader()
- 返回此域的 ClassLoader。
-
- 返回:
- 此域的 ClassLoader,它可以为 null。
- 从以下版本开始:
- 1.4
getPrincipals
public final Principal[] getPrincipals()
- 返回此域的 principals 数组。
-
- 返回:
- 此域非 null 的 principals 数组。每次调用此方法都返回一个新的数组。
- 从以下版本开始:
- 1.4
getPermissions
public final PermissionCollection getPermissions()
- 返回授予此域的静态权限。
-
- 返回:
- 此域的静态权限集合,它可以为 null。
- 另请参见:
-
Policy.refresh()
,Policy.getPermissions(ProtectionDomain)
implies
public boolean implies(Permission permission)
-
查看此 ProtectionDomain 是否暗含了 Permission 对象中表示的权限。
计算的权限集合依赖于该 ProtectionDomain 是用静态的权限集合构造的还是被绑定到动态映射的权限集合。
如果 ProtectionDomain 被构造为
静态绑定的
PermissionCollection,那么只会依据构造时提供的 PermissionCollection 来检查权限。但是,如果 ProtectionDomain 是用支持
动态绑定
权限的构造方法变体构造的,那么将会依据构造时提供的 PermissionCollection 和当前 Policy 绑定的组合来检查权限。 -
- 参数:
-
permission
- 要检查的 Permission 对象。 - 返回:
- 如果 "permission" 暗含此 ProtectionDomain 中,则返回 true。
toString
public String toString()