Класс SubjectDomainCombiner
- java.lang.Object
-
- javax.security.auth.SubjectDomainCombiner
- Все реализуемые интерфейсы:
DomainCombiner
public class SubjectDomainCombiner extends Object implements DomainCombiner
Объект класса SubjectDomainCombiner обновляет ProtectionDomains с принципами из Subject, связанными с этим SubjectDomainCombiner.
- С тех пор:
- 1.4
Конструкторы
| Конструктор | Описание |
|---|---|
SubjectDomainCombiner(Subject subject) |
Связывает предоставленный |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
ProtectionDomain[] |
combine(ProtectionDomain[] currentDomains,
ProtectionDomain[] assignedDomains) |
Обновляет соответствующие ProtectionDomains принципами из |
Subject |
getSubject() |
Получить |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Конструкторы
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)
Обновляет соответствующие ProtectionDomains принципами из Subject связанными с этим SubjectDomainCombiner.
Новый экземпляр ProtectionDomain создается для каждого нестатического ProtectionDomain ( (staticPermissionsOnly() == false) в массиве currentDomains). Каждый новый экземпляр ProtectionDomain создается с использованием CodeSource, Permission и ClassLoader из соответствующего ProtectionDomain в currentDomains, а также с принципами из Subject связанными с этим SubjectDomainCombiner . Статические ProtectionDomains объединяются как есть, и новый экземпляр не создается.
Все ProtectionDomains (статические и недавно созданные) объединяются в новый массив. ProtectionDomains из массива assignedDomains добавляются в этот новый массив, и результат возвращается.
Обратите внимание, что могут быть выполнены оптимизации, такие как удаление дублированных ProtectionDomains. Кроме того, может быть разрешено кэширование ProtectionDomains.
- Определено в:
-
combineв интерфейсеDomainCombiner - Параметры:
-
currentDomains- ProtectionDomains, связанные с текущей нитью выполнения, до последней привилегированнойProtectionDomain. ProtectionDomains перечислены в порядке выполнения, с последней выполняющейсяProtectionDomainв начале массива. Этот параметр может бытьnull, если у текущей нити выполнения нет связанных ProtectionDomains. -
assignedDomains- ProtectionDomains, унаследованные от родительской нити, или ProtectionDomains от привилегированнойcontext, если был вызовAccessController.doPrivileged(..., context). Этот параметр может бытьnull, если ProtectionDomains не были унаследованы от родительской нити или от привилегированнойcontext. - Возвращает:
- новый массив, состоящий из обновленных ProtectionDomains, или
null.
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/javax/security/auth/SubjectDomainCombiner.html