模块 java.base

类 SubjectDomainCombiner

java.lang.Object
javax.security.auth.SubjectDomainCombiner
所有已实现的接口:
DomainCombiner

@Deprecated (since ="17", forRemoval =true) public class SubjectDomainCombiner extends Object implements DomainCombiner
已弃用,将被删除:此 API 元素可能会在未来版本中删除。
此类仅与 安全管理器 结合使用,后者已弃用并会在未来版本中删除。因此,此类也已弃用并可能被删除。安全管理器或此类没有替代品。
SubjectDomainCombiner 使用与此 SubjectDomainCombiner 关联的 Subject 的主体更新 ProtectionDomains。
自从:
1.4
  • 构造方法总结

    构造方法
    构造方法
    描述
    已弃用,将被删除:此 API 元素可能会在未来版本中删除。
    将提供的 Subject 与此 SubjectDomainCombiner 相关联。
  • 方法总结

    修饰符和类型
    方法
    描述
    combine(ProtectionDomain[] currentDomains, ProtectionDomain[] assignedDomains)
    已弃用,将被删除:此 API 元素可能会在未来版本中删除。
    使用与此 SubjectDomainCombiner 关联的 Subject 中的主体更新相关 ProtectionDomains。
    已弃用,将被删除:此 API 元素可能会在未来版本中删除。
    获取与此 SubjectDomainCombiner 关联的 Subject

    在类 java.lang.Object 中声明的方法

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 构造方法详细信息

    • SubjectDomainCombiner

      public SubjectDomainCombiner(Subject  subject)
      已弃用,将被删除:此 API 元素可能会在未来版本中删除。
      将提供的 Subject 与此 SubjectDomainCombiner 相关联。
      参数:
      subject - 与此 SubjectDomainCombiner 关联的 Subject
  • 方法详情

    • getSubject

      public Subject  getSubject()
      已弃用,将被删除:此 API 元素可能会在未来版本中删除。
      获取与此 SubjectDomainCombiner 关联的 Subject
      返回:
      与此 SubjectDomainCombiner 相关联的 Subjectnull(如果没有 Subject 与此 SubjectDomainCombiner 相关联)。
      抛出:
      SecurityException - 如果调用者无权获取与此 SubjectDomainCombiner 关联的 Subject
    • combine

      public ProtectionDomain [] combine(ProtectionDomain [] currentDomains, ProtectionDomain [] assignedDomains)
      已弃用,将被删除:此 API 元素可能会在未来版本中删除。
      使用与此 SubjectDomainCombiner 关联的 Subject 中的主体更新相关 ProtectionDomains。

      currentDomains 数组中的每个非静态 ProtectionDomain ( (staticPermissionsOnly() == false) 创建一个新的 ProtectionDomain 实例。每个新的 ProtectionDomain 实例都是使用 currentDomains 中对应的 ProtectionDomainCodeSourcePermissionClassLoader 创建的, 以及与来自与此 SubjectDomainCombiner 关联的 Subject 的主体。静态 ProtectionDomains 按原样组合,并且没有创建新实例。

      所有 ProtectionDomain(静态的和新实例化的)都组合到一个新数组中。来自 assignedDomains 数组的 ProtectionDomains 附加到这个新数组,并返回结果。

      请注意,可能已经进行了优化,例如删除重复的 ProtectionDomain。此外,可以允许缓存 ProtectionDomains。

      指定者:
      combine 在接口 DomainCombiner
      参数:
      currentDomains - 与当前执行线程关联的 ProtectionDomains,直到最近的特权 ProtectionDomain 。 ProtectionDomains 按执行顺序列出,最近执行的 ProtectionDomain 位于数组的开头。如果当前执行线程没有关联的 ProtectionDomain,则此参数可能是 null
      assignedDomains - 从父线程继承的 ProtectionDomains,或从特权 context 继承的 ProtectionDomains,如果调用 AccessController.doPrivileged(..., context) 发生此参数可能是 null 如果没有从父线程或特权 context 继承的 ProtectionDomains。
      返回:
      由更新的 ProtectionDomains 或 null 组成的新数组。