- java.lang.Object
-
- javax.security.auth.SubjectDomainCombiner
-
- 实现的所有接口
-
DomainCombiner
public class SubjectDomainCombiner extends Object implements DomainCombiner
一个SubjectDomainCombiner
与校长更新的ProtectionDomains从Subject
与此相关SubjectDomainCombiner
。- 从以下版本开始:
- 1.4
-
-
构造方法摘要
构造方法 构造器 描述 SubjectDomainCombiner(Subject subject)
将提供的Subject
与此SubjectDomainCombiner
。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 ProtectionDomain[]
combine(ProtectionDomain[] currentDomains, ProtectionDomain[] assignedDomains)
使用与此SubjectDomainCombiner
相关联的Subject
中的Principals更新相关ProtectionDomains。Subject
getSubject()
获取Subject
与此相关SubjectDomainCombiner
。
-
-
-
构造方法详细信息
-
SubjectDomainCombiner
public SubjectDomainCombiner(Subject subject)
将提供的Subject
与此SubjectDomainCombiner
。- 参数
-
subject
-将Subject
到与此相关SubjectDomainCombiner
。
-
-
方法详细信息
-
getSubject
public Subject getSubject()
获取Subject
与此相关SubjectDomainCombiner
。- 结果
-
所述
Subject
与此相关的SubjectDomainCombiner
,或null
如果没有Subject
与此相关联的SubjectDomainCombiner
。 - 异常
-
SecurityException
-如果调用方无权获得Subject
与此相关SubjectDomainCombiner
。
-
combine
public ProtectionDomain[] combine(ProtectionDomain[] currentDomains, ProtectionDomain[] assignedDomains)
使用与此SubjectDomainCombiner
相关联的Subject
中的Principals更新相关ProtectionDomains。一个新的
ProtectionDomain
实例对于每个非静态创建ProtectionDomain
((staticPermissionsOnly()== FALSE)中currentDomains
阵列。每个新ProtectionDomain
实例使用所创建的CodeSource
,Permission
S和ClassLoader
从相应ProtectionDomain
在currentDomains
,以及与Subject
相关联的主体与此SubjectDomainCombiner
静态保护SubjectDomainCombiner
组合,不创建新实例。所有ProtectionDomains(静态和新实例化)都组合成一个新阵列。
assignedDomains
数组中的ProtectionDomains将附加到此新数组,并返回结果。请注意,可能已发生诸如删除重复的ProtectionDomain之类的优化。 此外,可以允许缓存ProtectionDomains。
- Specified by:
-
combine
在界面DomainCombiner
- 参数
-
currentDomains
- 与当前执行线程关联的ProtectionDomain,直到最新的特权ProtectionDomain
。 ProtectionDomains按执行顺序列出,最近执行的ProtectionDomain
位于阵列的开头。 如果当前执行线程没有关联的ProtectionDomains,则此参数可能为null
。 -
assignedDomains
-从特权从父线程继承的ProtectionDomain,或的ProtectionDomaincontext
,如果一个电话AccessController.doPrivileged(..., context)
发生此参数可以为null
如果没有从父线程继承的ProtectionDomain,或从特权context
。 - 结果
-
由更新的ProtectionDomains组成的新阵列,或
null
。
-
-