|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
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) 创建具有给定 AccessControlContext 和 DomainCombiner 的新 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)
-
创建具有给定
AccessControlContext
和DomainCombiner
的新AccessControlContext
。此构造方法将提供的DomainCombiner
与提供的AccessControlContext
关联起来。- 参数:
-
acc
- 与此提供的DomainCombiner
关联的AccessControlContext
。 -
combiner
- 要与提供的AccessControlContext
关联的DomainCombiner
。 - 抛出:
-
NullPointerException
- 如果提供的context
为null
。 -
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 集合。
-
- 参数:
-
obj
- 要与此对象进行相等性测试的对象。 - 返回:
- 如果 obj 为 AccessControlContext 且具有与此上下文相同的 ProtectionDomain 集合,则返回 true;否则返回 false。
- 另请参见:
-
Object.hashCode()
,Hashtable
hashCode
public int hashCode()
- 返回此上下文的哈希码值。该哈希码是通过对上下文中所有保护域的哈希码进行异或计算得到的。
-
- 返回:
- 此上下文的哈希码值。
- 另请参见:
-
Object.equals(java.lang.Object)
,Hashtable
所有类
|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |