java.lang.Object
javax.security.auth.SubjectDomainCombiner
- 所有已实现的接口:
-
DomainCombiner
@Deprecated(since="17", forRemoval=true) public class SubjectDomainCombiner extends Object implements DomainCombiner
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.
一个
SubjectDomainCombiner
会使用与该SubjectDomainCombiner
关联的Subject
中的Principal更新ProtectionDomains。
- 自从:
- 1.4
-
Constructor Summary
ConstructorDescriptionSubjectDomainCombiner
(Subject subject) 已弃用,将被移除: 该API元素可能在将来的版本中被移除。将提供的Subject
与该SubjectDomainCombiner
关联。 -
Method Summary
Modifier and TypeMethodDescriptioncombine
(ProtectionDomain[] currentDomains, ProtectionDomain[] assignedDomains) 已弃用,将被移除: 该API元素可能在将来的版本中被移除。使用与该SubjectDomainCombiner
关联的Subject
中的Principal更新相关的ProtectionDomains。已弃用,将被移除: 该API元素可能在将来的版本中被移除。获取与该SubjectDomainCombiner
关联的Subject
。
-
Constructor Details
-
SubjectDomainCombiner
Deprecated, for removal: This API element is subject to removal in a future version.将提供的Subject
与该SubjectDomainCombiner
关联。- 参数:
-
subject
- 要与该SubjectDomainCombiner
关联的Subject
。
-
-
Method Details
-
getSubject
Deprecated, for removal: This API element is subject to removal in a future version.获取与该SubjectDomainCombiner
关联的Subject
。- 返回:
-
与该
SubjectDomainCombiner
关联的Subject
,如果没有与该SubjectDomainCombiner
关联的Subject
则返回null
。 - 抛出:
-
SecurityException
- 如果调用者没有权限获取与该SubjectDomainCombiner
关联的Subject
。
-
combine
public ProtectionDomain[] combine(ProtectionDomain[] currentDomains, ProtectionDomain[] assignedDomains) Deprecated, for removal: This API element is subject to removal in a future version.使用与该SubjectDomainCombiner
关联的Subject
中的Principal更新相关的ProtectionDomains。为
currentDomains
数组中的每个非静态ProtectionDomain
((staticPermissionsOnly() == false)创建一个新的ProtectionDomain
实例。每个新的ProtectionDomain
实例使用currentDomains
中相应ProtectionDomain
的CodeSource
、Permission
和ClassLoader
,以及与该SubjectDomainCombiner
关联的Subject
中的Principal创建。静态ProtectionDomains保持不变,不会创建新实例。所有ProtectionDomains(静态和新实例化的)都合并到一个新数组中。来自
assignedDomains
数组的ProtectionDomains将附加到此新数组,然后返回结果。请注意,可能已发生诸如删除重复ProtectionDomains等优化。此外,可能允许缓存ProtectionDomains。
- 指定者:
-
combine
在接口DomainCombiner
- 参数:
-
currentDomains
- 与当前执行线程关联的ProtectionDomains,直到最近的特权ProtectionDomain
。ProtectionDomains按执行顺序列出,最近执行的ProtectionDomain
位于数组的开头。如果当前执行线程没有关联的ProtectionDomains,则此参数可以为null
。 -
assignedDomains
- 从父线程继承的ProtectionDomains,或者从特权context
中继承的ProtectionDomains,如果发生了对AccessController.doPrivileged(..., context)
的调用,则此参数可以为null
。如果没有从父线程或特权context
继承的ProtectionDomains,则此参数可以为null
。 - 返回:
-
由更新的ProtectionDomains组成的新数组,或
null
。
-