java.lang.Object
java.security.AccessControlContext
Deprecated, for removal: This API element is subject to removal in a future version.
This class is only useful in conjunction with the Security Manager, which is deprecated and subject to removal in a future release. Consequently, this class is also deprecated and subject to removal. There is no replacement for the Security Manager or this class.
一个
AccessControlContext用于根据其封装的上下文做出系统资源访问决策。
更具体地说,它封装了一个上下文,并且有一个单一方法checkPermission,该方法等同于AccessController类中的checkPermission方法,但有一个区别:checkPermission方法基于其封装的上下文做出访问决策,而不是当前执行线程的上下文。
因此,AccessControlContext的目的是用于那些需要在给定上下文内进行安全检查,实际上需要从一个不同的上下文(例如,从一个工作线程内部)进行的情况。
通过调用AccessController.getContext方法创建一个AccessControlContext。 getContext方法获取当前调用上下文的“快照”,并将其放入一个AccessControlContext对象中,然后返回该对象。示例调用如下:
AccessControlContext acc = AccessController.getContext()
随后在不同上下文中的代码可以调用先前保存的AccessControlContext对象上的checkPermission方法。示例调用如下:
acc.checkPermission(permission)
- 自版本:
- 1.2
- 参见:
-
Constructor Summary
ConstructorsConstructorDescriptionAccessControlContext(AccessControlContext acc, DomainCombiner combiner) 已弃用,将来会移除:此API元素可能会在将来的版本中移除。使用给定的AccessControlContext和DomainCombiner创建一个新的AccessControlContext。AccessControlContext(ProtectionDomain[] context) 已弃用,将来会移除:此API元素可能会在将来的版本中移除。使用给定的ProtectionDomain对象数组创建一个AccessControlContext。 -
Method Summary
Modifier and TypeMethodDescriptionvoidcheckPermission(Permission perm) 已弃用,将来会移除:此API元素可能会在将来的版本中移除。根据当前生效的安全策略和此对象中的上下文,确定指定权限所指示的访问请求是否应允许或拒绝。boolean已弃用,将来会移除:此API元素可能会在将来的版本中移除。检查两个AccessControlContext对象是否相等。已弃用,将来会移除:此API元素可能会在将来的版本中移除。获取与此AccessControlContext关联的DomainCombiner。inthashCode()已弃用,将来会移除:此API元素可能会在将来的版本中移除。返回此上下文的哈希码值。
-
Constructor Details
-
AccessControlContext
Deprecated, for removal: This API element is subject to removal in a future version.使用给定的ProtectionDomain对象数组创建一个AccessControlContext。上下文不能为空。将从上下文中删除重复的域。- 参数:
-
context- 与此上下文关联的ProtectionDomain对象。非重复域将从数组中复制。对数组的后续更改不会影响此AccessControlContext。 - 抛出:
-
NullPointerException- 如果context为null
-
AccessControlContext
Deprecated, for removal: This API element is subject to removal in a future version.使用给定的AccessControlContext和DomainCombiner创建一个新的AccessControlContext。此构造函数将提供的DomainCombiner与提供的AccessControlContext关联。- 参数:
-
acc- 与提供的DomainCombiner关联的AccessControlContext。 -
combiner- 与提供的AccessControlContext关联的DomainCombiner。 - 抛出:
-
NullPointerException- 如果提供的context为null。 -
SecurityException- 如果安装了安全管理器且调用者没有"createAccessControlContext"SecurityPermission - 自版本:
- 1.3
-
-
Method Details
-
getDomainCombiner
Deprecated, for removal: This API element is subject to removal in a future version.获取与此AccessControlContext关联的DomainCombiner。- 返回:
-
与此
AccessControlContext关联的DomainCombiner,如果没有则返回null。 - 抛出:
-
SecurityException- 如果安装了安全管理器且调用者没有"getDomainCombiner"SecurityPermission - 自版本:
- 1.3
-
checkPermission
Deprecated, for removal: This API element is subject to removal in a future version.根据当前生效的安全策略和此对象中的上下文,确定指定权限所指示的访问请求是否应允许或拒绝。仅当上下文中的每个ProtectionDomain都暗示该权限时,才允许该请求。否则将拒绝该请求。如果访问请求被允许,此方法将静默返回;否则将抛出适当的
AccessControlException。- 参数:
-
perm- 请求的权限。 - 抛出:
-
AccessControlException- 如果根据当前安全策略和此对象封装的上下文,指定的权限不被允许。 -
NullPointerException- 如果要检查的权限为null。
-
equals
Deprecated, for removal: This API element is subject to removal in a future version.检查两个AccessControlContext对象是否相等。检查obj是否为AccessControlContext,并且具有与此上下文相同的ProtectionDomain对象集。 -
hashCode
public int hashCode()Deprecated, for removal: This API element is subject to removal in a future version.返回此上下文的哈希码值。哈希码通过对上下文中所有保护域的哈希码进行异或运算得出。
-