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
类 AccessControlContext

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

public final class AccessControlContext
extends Object

AccessControlContext 用于基于它所封装的上下文作出系统资源访问决定。

更确切地说,它封装一个上下文并且具有单个方法 (checkPermission),该方法等效于 AccessController 类中的 checkPermission 方法,只有一个不同点:AccessControlContext 的 checkPermission 方法基于它所封装的上下文而不是当前执行线程的上下文作出访问决定。

因此,AccessControlContext 的目的是用于那些实际需要在另一个 上下文(例如,在 worker 线程中)中执行应该在给定上下文中进行的安全检查的情形下。

AccessControlContext 通过调用 AccessController.getContext 方法创建。getContext 方法获取当前调用上下文“快照”,并将其置于它所返回的 AccessControlContext 对象中。示例调用如下:

 
   AccessControlContext acc = AccessController.getContext()
 
 

另一上下文中的代码可以随后在以前保存的 AccessControlContext 对象上调用 checkPermission 方法。示例调用如下:

 
   acc.checkPermission(permission)
 
 

另请参见:
AccessController

构造方法摘要
AccessControlContext(AccessControlContext acc, DomainCombiner combiner)
          创建具有给定 AccessControlContextDomainCombiner 的新 AccessControlContext
AccessControlContext(ProtectionDomain[] context)
          创建带有给定 ProtectionDomain 集合的 AccessControlContext。
 
方法摘要
 void checkPermission(Permission perm)
          基于当前生效的安全策略和此对象中的上下文确定是否允许指定权限指示的访问请求。
 boolean equals(Object obj)
          检查两个 AccessControlContext 对象是否相等。
 DomainCombiner getDomainCombiner()
          获取与此 AccessControlContext 关联的 DomainCombiner
 int hashCode()
          返回此上下文的哈希码值。
 
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

AccessControlContext

public AccessControlContext(ProtectionDomain[] context)
创建带有给定 ProtectionDomain 集合的 AccessControlContext。上下文不能为 null。重复的域将从上下文中被移除。

参数:
context - 与此上下文关联的 ProtectionDomain。从数组复制非重复域。数组的后续更改对此 AccessControlContext 没有影响。

AccessControlContext

public AccessControlContext(AccessControlContext acc,
                            DomainCombiner combiner)
创建具有给定 AccessControlContextDomainCombiner 的新 AccessControlContext。此构造方法将提供的 DomainCombiner 与提供的 AccessControlContext 关联起来。

参数:
acc - 与此提供的 DomainCombiner 关联的 AccessControlContext

combiner - 要与提供的 AccessControlContext 关联的 DomainCombiner
抛出:
NullPointerException - 如果提供的 contextnull

SecurityException - 如果调用方没有调用此构造方法的权限。
方法详细信息

getDomainCombiner

public DomainCombiner getDomainCombiner()
获取与此 AccessControlContext 关联的 DomainCombiner

返回:
与此 AccessControlContext 关联的 DomainCombiner;如果关联项不存在,则返回 null
抛出:
SecurityException - 如果调用方没有获取与此 AccessControlContext 关联的 DomainCombiner 的权限。

checkPermission

public void checkPermission(Permission perm)
                     throws AccessControlException
基于当前生效的安全策略和此对象中的上下文确定是否允许指定权限指示的访问请求。

如果允许访问请求,则此方法正常返回;否则抛出适当的 AccessControlException。

参数:
perm - 请求的权限。
抛出:
AccessControlException - 如果基于当前的安全策略和此对象所封装的上下文不允许指定权限。
NullPointerException - 如果要检查的权限为 null。

equals

public boolean equals(Object obj)
检查两个 AccessControlContext 对象是否相等。检查 obj 是否为 AccessControlContext 且具有与此上下文相同的 ProtectionDomain 集合。

覆盖:
Object 中的 equals
参数:
obj - 要与此对象进行相等性测试的对象。
返回:
如果 obj 为 AccessControlContext 且具有与此上下文相同的 ProtectionDomain 集合,则返回 true;否则返回 false。
另请参见:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
返回此上下文的哈希码值。该哈希码是通过对上下文中所有保护域的哈希码进行异或计算得到的。

覆盖:
Object 中的 hashCode
返回:
此上下文的哈希码值。
另请参见:
Object.equals(java.lang.Object), Hashtable

JavaTM 2 Platform
Standard Ed. 5.0

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

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