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
接口 DomainCombiner

所有已知实现类:
SubjectDomainCombiner

public interface DomainCombiner

DomainCombiner 提供一个动态更新与当前 AccessControlContext 关联的 ProtectionDomain 的方法。

DomainCombiner 作为参数传递给 AccessControlContext 的适当的构造方法。然后,将新构造的上下文传递给 AccessController.doPrivileged(..., context) 方法来将提供的上下文(以及关联的 DomainCombiner)与当前的执行线程绑定在一起。对 AccessController.getContextAccessController.checkPermission 的后续调用将导致对 DomainCombiner.combine 的调用。

combine 方法带有两个参数。第一个参数表示从最近一次调用 AccessController.doPrivileged 以来当前执行线程中 ProtectionDomain 的数组。如果没有调用 doPrivileged,则第一个参数将包含当前执行线程中的所有 ProtectionDomain。第二个参数表示继承的 ProtectionDomain 的数组,可能为 null。ProtectionDomain 可能是从父线程或特权上下文继承的。如果没有调用 doPrivileged,则第二个参数将包含从父线程继承的 ProtectionDomain。如果对 doPrivileged 进行了一次或多次调用,并且最近一次调用的是 doPrivileged(action, context),那么第二个参数将包含特权上下文中的 ProtectionDomain。如果最近一次调用的是 doPrivileged(action),则不存在特权上下文,第二个参数将为 null

combine 方法研究两个 ProtectionDomain 的输入数组,返回包含更新的 ProtectionDomain 的单个数组。在最简单的情况下,combine 方法将两个堆栈合并为一个。在较复杂的情况下,combine 方法返回 ProtectionDomain 的修改的堆栈。修改操作可能添加新的 ProtectionDomain、移除某些特定的 ProtectionDomain 或者只是更新现有的 ProtectionDomain。对 ProtectionDomain 重新排序及进行其他优化也是允许的。通常,combine 方法基于 DomainCombiner 中封装的信息进行更新。

AccessController.getContext 方法从 DomainCombiner 接收 ProtectionDomain 后备的组合堆栈后,它将返回包含组合 ProtectionDomain 和 DomainCombiner 的新 AccessControlContext。

另请参见:
AccessController, AccessControlContext

方法摘要
 ProtectionDomain[] combine(ProtectionDomain[] currentDomains, ProtectionDomain[] assignedDomains)
          修改或更新提供的 ProtectionDomain。
 

方法详细信息

combine

ProtectionDomain[] combine(ProtectionDomain[] currentDomains,
                           ProtectionDomain[] assignedDomains)
修改或更新提供的 ProtectionDomain。可以将 ProtectionDomain 添加到给定的 ProtectionDomain 中,也可以从中移除。可以重新排列 ProtectionDomain 的顺序。可以修改个别 ProtectionDomain(例如,利用新的 Permission 的集合)。

参数:
currentDomains - 与当前执行线程关联的 ProtectionDomain,直到最近的特权 ProtectionDomain.ProtectionDomain 按执行的顺序列出,最近执行的 ProtectionDomain 位于数组的开头。如果当前执行的线程没有任何关联的 ProtectionDomain,则此参数为 null

assignedDomains - 继承的 ProtectionDomain 组成的数组。ProtectionDomain 可能是从父线程或特权 AccessControlContext 继承的。如果不存在任何继承的 ProtectionDomain,则此参数为 null
返回:
由更新的 ProtectionDomain 组成的新数组;或者 null

JavaTM 2 Platform
Standard Ed. 5.0

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

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