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[]返回此域的主体数组。booleanimplies(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- 与此域关联的CodeSourcepermissions- 授予该域的权限classloader- 与此域关联的ClassLoaderprincipals- 与此域关联的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。
-