java.applet

java.awt

java.awt.color

java.awt.datatransfer

java.awt.dnd

java.awt.event

java.awt.font

java.awt.geom

java.awt.im

java.awt.im.spi

java.awt.image

java.awt.image.renderable

java.awt.print

java.beans

java.beans.beancontext

java.io

java.lang

java.lang.annotation

java.lang.instrument

java.lang.management

java.lang.ref

java.lang.reflect

java.math

java.net

java.nio

java.nio.channels

java.nio.channels.spi

java.nio.charset

java.nio.charset.spi

java.rmi

java.rmi.activation

java.rmi.dgc

java.rmi.registry

java.rmi.server

java.security

java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

java.sql

java.text

java.util

java.util.concurrent

java.util.concurrent.atomic

java.util.concurrent.locks

java.util.jar

java.util.logging

java.util.prefs

java.util.regex

java.util.zip

javax.accessibility

javax.activity

javax.crypto

javax.crypto.interfaces

javax.crypto.spec

javax.imageio

javax.imageio.event

javax.imageio.metadata

javax.imageio.plugins.bmp

javax.imageio.plugins.jpeg

javax.imageio.spi

javax.imageio.stream

javax.management

javax.management.loading

javax.management.modelmbean

javax.management.monitor

javax.management.openmbean

javax.management.relation

javax.management.remote

javax.management.remote.rmi

javax.management.timer

javax.naming

javax.naming.directory

javax.naming.event

javax.naming.ldap

javax.naming.spi

javax.net

javax.net.ssl

javax.print

javax.print.attribute

javax.print.attribute.standard

javax.print.event

javax.rmi

javax.rmi.CORBA

javax.rmi.ssl

javax.security.auth

javax.security.auth.callback

javax.security.auth.kerberos

javax.security.auth.login

javax.security.auth.spi

javax.security.auth.x500

javax.security.cert

javax.security.sasl

javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.sql.rowset

javax.sql.rowset.serial

javax.sql.rowset.spi

javax.swing

javax.swing.border

javax.swing.colorchooser

javax.swing.event

javax.swing.filechooser

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi

javax.swing.plaf.synth

javax.swing.table

javax.swing.text

javax.swing.text

javax.swing.text.parser

javax.swing.text.rtf

javax.swing.tree

javax.swing.undo

javax.transaction

javax.transaction.xa

javax.xml

javax.xml.datatype

javax.xml.namespace

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom

javax.xml.transform.sax

javax.xml.transform.stream

javax.xml.validation

javax.xml.xpath

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

org.omg.CORBA.DynAnyPackage

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage

org.omg.CosNaming

org.omg.CosNaming.NamingContextExtPackage

org.omg.CosNaming.NamingContextPackage

org.omg.Dynamic

org.omg.DynamicAny

org.omg.DynamicAny.DynAnyFactoryPackage

org.omg.DynamicAny.DynAnyPackage

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

org.omg.PortableInterceptor.ORBInitInfoPackage

org.omg.PortableServer

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPackage

org.omg.PortableServer.POAPackage

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPackage

org.omg.SendingContext

org.omg.stub.java.rmi

org.w3c.dom

org.w3c.dom.bootstrap

org.w3c.dom.events

org.w3c.dom.ls

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

allclasses-frame

allclasses-noframe

constant-values

deprecated-list

help-doc

JavaTM 2 Platform
Standard Ed. 5.0

java.security
类 Policy

java.lang.Object
  继承者 java.security.Policy

public abstract class Policy
extends Object

这是一个用于表示 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 的目录。

另请参见:
CodeSource, PermissionCollection, SecureClassLoader

构造方法摘要
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
 

构造方法详细信息

Policy

public Policy()
方法详细信息

getPolicy

public static Policy getPolicy()
返回安装的 Policy 对象。此值不应该被缓存,因为它可能通过调用 setPolicy 更改。此方法首先用 SecurityPermission("getPolicy") 权限作为参数调用 SecurityManager.checkPermission 来保证可以获取 Policy 对象。

返回:
安装的 Policy。
抛出:
SecurityException - 如果安全管理器存在并且其 checkPermission 方法不允许获取 Policy 对象。
另请参见:
SecurityManager.checkPermission(Permission), setPolicy(java.security.Policy)

setPolicy

public static void setPolicy(Policy p)
设置系统级 Policy 对象。此方法首先用 SecurityPermission("setPolicy") 权限作为参数调用 SecurityManager.checkPermission 来保证可以设置 Policy。

参数:
p - 新的系统 Policy 对象。
抛出:
SecurityException - 如果安全管理器存在并且其 checkPermission 方法不允许设置 Policy。
另请参见:
SecurityManager.checkPermission(Permission), getPolicy()

getPermissions

public abstract PermissionCollection getPermissions(CodeSource codesource)
评估全局策略并返回 PermissionCollection 对象,该对象为来自指定代码源的代码指定所允许的权限集合。

参数:
codesource - 与调用方关联的 CodeSource。此参数封装了代码的初始位置(代码的来源)及其签名者的公钥。
返回:
根据策略允许来自 codesource 的代码使用的权限集合。返回的权限集合必须是新的不可变实例并且它必须支持不同种类的 Permission 类型。

getPermissions

public PermissionCollection getPermissions(ProtectionDomain domain)
评估全局策略并且返回 PermissionCollection 对象,该对象指定所允许的权限集合(给出了保护域的特征)。

参数:
domain - 与调用方关联的 ProtectionDomain。
返回:
根据策略允许给 domain 的权限集合。返回的权限集合必须是新的不可变实例并且它必须支持不同种类的 Permission 类型。
从以下版本开始:
1.4
另请参见:
ProtectionDomain, SecureClassLoader

implies

public boolean implies(ProtectionDomain domain,
                       Permission permission)
评估授予 ProtectionDomain 的权限的全局策略并测试是否授予了该权限。

参数:
domain - 要测试的 ProtectionDomain
permission - 要测试其暗含权限的 Permission 对象。
返回:
如果 "permission" 是授予此 ProtectionDomain 的真子集,则返回 true。
从以下版本开始:
1.4
另请参见:
ProtectionDomain

refresh

public abstract void refresh()
刷新/重新加载策略配置。此方法的行为取决于实现。例如,对基于文件的策略调用 refresh 将导致重新读取该文件。


JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策