public final class AccessControlContext extends Object
更特别的是,它封装了一个语境,一个单一的方法,checkPermission,在AccessController类相当于checkPermission方法有一点不同:在accesscontrolcontext checkPermission方法进行访问的决定基于上下文封装,而不是当前执行线程。
因此,对accesscontrolcontext目的是对于那些情况下的安全检查应在一个给定的语境实际上需要在不同的背景下进行的(例如,在一个工作线程)。
一个accesscontrolcontext是通过调用AccessController.getContext方法创建。的getContext方法以“快照”的当前上下文调用,放在一个accesscontrolcontext对象,它的回报。一个示例调用如下:
accesscontrolcontext ACC = getcontext() AccessController。
在不同的上下文中的代码可以随后调用以前保存的accesscontrolcontext对象的checkPermission方法。一个示例调用如下:
acc.checkpermission(许可)
AccessController
| Constructor and Description |
|---|
AccessControlContext(AccessControlContext acc, DomainCombiner combiner)
创建了新的
AccessControlContext和
DomainCombiner
AccessControlContext。
|
AccessControlContext(ProtectionDomain[] context)
创建具有给定的数组的一个accesscontrolcontext protectiondomains。
|
| Modifier and Type | Method and Description |
|---|---|
void |
checkPermission(Permission perm)
确定指定的权限是否应允许或拒绝访问指定的访问请求,基于当前的安全策略,以及此对象中的上下文。
|
boolean |
equals(Object obj)
检查两accesscontrolcontext对象平等。
|
DomainCombiner |
getDomainCombiner()
得到这个
AccessControlContext相关的
DomainCombiner。
|
int |
hashCode()
返回此上下文的哈希代码值。
|
public AccessControlContext(ProtectionDomain[] context)
context - protectiondomains这个上下文关联。从该数组复制非重复的域。对数组的后续变化不会影响本accesscontrolcontext。
null
context
NullPointerException
public AccessControlContext(AccessControlContext acc, DomainCombiner combiner)
AccessControlContext和
DomainCombiner
AccessControlContext。此构造函数将提供
DomainCombiner与所提供的
AccessControlContext。
acc与提供相关的
AccessControlContext
DomainCombiner。
combiner -
DomainCombiner要与所提供的
AccessControlContext相关。
NullPointerException -如果提供的
context是
null。
SecurityException -如果安装一个安全管理和调用方没有“createaccesscontrolcontext”
SecurityPermission
public DomainCombiner getDomainCombiner()
AccessControlContext相关的
DomainCombiner。
DomainCombiner
AccessControlContext,或
null如果没有。
SecurityException -如果安装一个安全管理和调用方没有“getdomaincombiner”
SecurityPermission
public void checkPermission(Permission perm) throws AccessControlException
这种方法悄然返回如果访问请求被允许,或抛出一个合适的accesscontrolexception否则。
perm的请求。
AccessControlException -如果指定的权限是不允许的,基于目前的安全策略和上下文封装的对象。
NullPointerException如果权限检查是空的。
public boolean equals(Object obj)
equals 方法重写,继承类
Object
obj对象--我们为这个对象相等性测试。
Object.hashCode(),
HashMap
public int hashCode()
hashCode 方法重写,继承类
Object
Object.equals(java.lang.Object),
System.identityHashCode(java.lang.Object)
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.