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。 -
方法总结
修饰符和类型方法描述voidcheckPermission(Permission perm) 已弃用,将被删除:此 API 元素可能会在未来版本中删除。根据当前有效的安全策略和此对象中的上下文,确定是否应允许或拒绝由指定权限指示的访问请求。boolean已弃用,将被删除:此 API 元素可能会在未来版本中删除。检查两个AccessControlContext对象是否相等。已弃用,将被删除:此 API 元素可能会在未来版本中删除。获取与此AccessControlContext关联的DomainCombiner。inthashCode()已弃用,将被删除:此 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 元素可能会在未来版本中删除。返回此上下文的哈希码值。哈希码是通过将上下文中所有保护域的哈希码一起进行异或计算得到的。
-