java.lang.Object
java.security.AccessControlContext
已弃用,将被删除:此 API 元素可能会在未来版本中删除。
此类仅与 安全管理器 结合使用,后者已弃用并会在未来版本中删除。因此,此类也已弃用并可能被删除。安全管理器或此类没有替代品。
AccessControlContext
用于根据它封装的上下文做出系统资源访问决策。
更具体地说,它封装了一个上下文并具有一个方法 checkPermission
,该方法等同于 AccessController
类中的 checkPermission
方法,但有一个区别: checkPermission
方法根据它封装的上下文而不是当前的上下文做出访问决策执行线程。
因此,AccessControlContext
的目的是针对那些应该在给定上下文中进行的安全检查实际上需要从不同的上下文(例如,来自工作线程内)。
通过调用 AccessController.getContext
方法创建 AccessControlContext
。 getContext
方法获取当前调用上下文的“快照”,并将其放置在它返回的 AccessControlContext
对象中。示例调用如下:
AccessControlContext acc = AccessController.getContext()
不同上下文中的代码随后可以在先前保存的 AccessControlContext
对象上调用 checkPermission
方法。示例调用如下:
acc.checkPermission(permission)
- 自从:
- 1.2
- 参见:
-
构造方法总结
构造方法构造方法描述AccessControlContext
(AccessControlContext acc, DomainCombiner combiner) 已弃用,将被删除:此 API 元素可能会在未来版本中删除。使用给定的AccessControlContext
和DomainCombiner
创建一个新的AccessControlContext
。AccessControlContext
(ProtectionDomain[] context) 已弃用,将被删除:此 API 元素可能会在未来版本中删除。使用给定的ProtectionDomain
对象数组创建一个AccessControlContext
。 -
方法总结
修饰符和类型方法描述void
checkPermission
(Permission perm) 已弃用,将被删除:此 API 元素可能会在未来版本中删除。根据当前有效的安全策略和此对象中的上下文,确定是否应允许或拒绝由指定权限指示的访问请求。boolean
已弃用,将被删除:此 API 元素可能会在未来版本中删除。检查两个AccessControlContext
对象是否相等。已弃用,将被删除:此 API 元素可能会在未来版本中删除。获取与此AccessControlContext
关联的DomainCombiner
。int
hashCode()
已弃用,将被删除:此 API 元素可能会在未来版本中删除。返回此上下文的哈希码值。
-
构造方法详细信息
-
AccessControlContext
已弃用,将被删除:此 API 元素可能会在未来版本中删除。使用给定的ProtectionDomain
对象数组创建一个AccessControlContext
。上下文不能是null
。将从上下文中删除重复的域。- 参数:
context
- 与此上下文关联的ProtectionDomain
对象。非重复域是从数组中复制的。对数组的后续更改不会影响此AccessControlContext
。- 抛出:
NullPointerException
- 如果context
是null
-
AccessControlContext
已弃用,将被删除:此 API 元素可能会在未来版本中删除。使用给定的AccessControlContext
和DomainCombiner
创建一个新的AccessControlContext
。此构造函数将提供的DomainCombiner
与提供的AccessControlContext
相关联。- 参数:
acc
- 与提供的DomainCombiner
关联的AccessControlContext
。combiner
- 与提供的AccessControlContext
关联的DomainCombiner
。- 抛出:
NullPointerException
- 如果提供的context
是null
。SecurityException
- 如果安装了安全管理器并且调用者没有“createAccessControlContext”SecurityPermission
- 自从:
- 1.3
-
-
方法详情
-
getDomainCombiner
已弃用,将被删除:此 API 元素可能会在未来版本中删除。获取与此AccessControlContext
关联的DomainCombiner
。- 返回:
-
与此
AccessControlContext
关联的DomainCombiner
,如果没有,则为null
。 - 抛出:
SecurityException
- 如果安装了安全管理器并且调用者没有“getDomainCombiner”SecurityPermission
- 自从:
- 1.3
-
checkPermission
已弃用,将被删除:此 API 元素可能会在未来版本中删除。根据当前有效的安全策略和此对象中的上下文,确定是否应允许或拒绝由指定权限指示的访问请求。仅当上下文中的每个ProtectionDomain
都暗示许可时,才允许请求。否则请求被拒绝。如果允许访问请求,此方法会安静地返回,否则会抛出合适的
AccessControlException
。- 参数:
perm
- 请求的权限。- 抛出:
AccessControlException
- 如果不允许指定权限,则基于当前安全策略和此对象封装的上下文。NullPointerException
- 如果要检查的权限是null
。
-
equals
已弃用,将被删除:此 API 元素可能会在未来版本中删除。检查两个AccessControlContext
对象是否相等。检查obj
是一个AccessControlContext
并且具有与此上下文相同的一组ProtectionDomain
对象。 -
hashCode
public int hashCode()已弃用,将被删除:此 API 元素可能会在未来版本中删除。返回此上下文的哈希码值。哈希码是通过将上下文中所有保护域的哈希码一起进行异或计算得到的。
-