|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object java.security.Policy
public abstract class Policy
这是一个用于表示 Java 应用环境的系统安全策略(为来自各种源的代码指定可用的权限)的抽象类。也就是说,安全策略通过一个 Policy 子类提供此 Policy 类中抽象方法的实现来表示。
实际上在任意给定时间只有一个 Policy 对象。
Policy 对象利用的策略信息的源位置由 Policy 实现决定。策略配置可以被存储为(例如)纯 ASCII 文件、Policy 类的序列化的二进制文件,或数据库。
当前安装的 Policy 对象可以通过调用 getPolicy
方法获取,可以通过调用 setPolicy
方法更改(通过具有重置 Policy 权限的代码)。
refresh
方法促使 policy 对象刷新/重新加载其当前配置。
这是依赖于实现的。例如,如果 policy 对象在配置文件中存储其策略,调用 refresh
将导致它重新读取策略配置文件。刷新的策略对特定 ProtectionDomain 中的类可能无效。这与 Policy 提供程序的 implies
方法的实现和 PermissionCollection 的缓冲策略有关。
通过将 "policy.provider" 的安全属性(在 Java 安全属性文件中)的值设置为所需的 Policy 实现类的完全限定名,可以更改默认的 Policy 实现。Java 安全属性文件位于名为 <JAVA_HOME>/lib/security/java.security 的文件中,其中 <JAVA_HOME> 指的是安装 JDK 的目录。
构造方法摘要 | |
---|---|
Policy()
|
方法摘要 | |
---|---|
abstract PermissionCollection |
getPermissions(CodeSource codesource)
评估全局策略并返回 PermissionCollection 对象,该对象为来自指定代码源的代码指定所允许的权限集合。 |
PermissionCollection |
getPermissions(ProtectionDomain domain)
评估全局策略并且返回 PermissionCollection 对象,该对象指定所允许的权限集合(给出了保护域的特征)。 |
static Policy |
getPolicy()
返回安装的 Policy 对象。 |
boolean |
implies(ProtectionDomain domain,
Permission permission)
评估授予 ProtectionDomain 的权限的全局策略并测试是否授予了该权限。 |
abstract void |
refresh()
刷新/重新加载策略配置。 |
static void |
setPolicy(Policy p)
设置系统级 Policy 对象。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public Policy()
方法详细信息 |
---|
public static Policy getPolicy()
setPolicy
更改。此方法首先用 SecurityPermission("getPolicy")
权限作为参数调用 SecurityManager.checkPermission
来保证可以获取 Policy 对象。
SecurityException
- 如果安全管理器存在并且其 checkPermission
方法不允许获取 Policy 对象。SecurityManager.checkPermission(Permission)
,
setPolicy(java.security.Policy)
public static void setPolicy(Policy p)
SecurityPermission("setPolicy")
权限作为参数调用 SecurityManager.checkPermission
来保证可以设置 Policy。
p
- 新的系统 Policy 对象。
SecurityException
- 如果安全管理器存在并且其 checkPermission
方法不允许设置 Policy。SecurityManager.checkPermission(Permission)
,
getPolicy()
public abstract PermissionCollection getPermissions(CodeSource codesource)
codesource
- 与调用方关联的 CodeSource。此参数封装了代码的初始位置(代码的来源)及其签名者的公钥。
public PermissionCollection getPermissions(ProtectionDomain domain)
domain
- 与调用方关联的 ProtectionDomain。
ProtectionDomain
,
SecureClassLoader
public boolean implies(ProtectionDomain domain, Permission permission)
domain
- 要测试的 ProtectionDomainpermission
- 要测试其暗含权限的 Permission 对象。
ProtectionDomain
public abstract void refresh()
refresh
将导致重新读取该文件。
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。