Класс ServicePermission
- java.lang.Object
-
- java.security.Permission
-
- javax.security.auth.kerberos.ServicePermission
- Все реализованные интерфейсы:
- Serializable, Guard
public final class ServicePermission extends Permission implements Serializable
Этот класс используется для защиты служб Kerberos и учетных данных, необходимых для доступа к этим службам. Существует взаимно однозначное соответствие между именем принципала службы и учетными данными, необходимыми для доступа к этой службе. Поэтому предоставление доступа к имени принципала службы подразумевает предоставление доступа к учетным данным, необходимым для установления контекста безопасности со службой принципала. Это относится независимо от того, хранятся ли учетные данные в кэше или получены через обмен с KDC. Учетные данные могут быть билетом выдачи билетов, билетом службы или секретным ключом из таблицы ключей.
Объект ServicePermission содержит имя принципала службы и список действий, которые определяют контекст, в котором могут использоваться учетные данные.
Имя принципала службы — это каноническое имя KerberosPrincipal , предоставляющего службу, то есть KerberosPrincipal представляет собой принципал службы Kerberos. Это имя обрабатывается с учётом регистра. Знак звёздочки (*) может стоять самостоятельно, чтобы обозначить любой принципал службы.
Предоставление этого разрешения означает, что вызывающий объект может использовать кэшированные учетные данные (TGT, билет службы или секретный ключ) в контексте, определяемом действием. В случае TGT предоставление этого разрешения также означает, что TGT может быть получен путём обмена с службой аутентификации.
Возможные действия:
initiate - allow the caller to use the credential to
initiate a security context with a service
principal.
accept - allow the caller to use the credential to
accept security context as a particular
principal. Например, чтобы указать разрешение на доступ к TGT для инициирования контекста безопасности, разрешение конструируется следующим образом: ServicePermission("krbtgt/EXAMPLE.COM@EXAMPLE.COM", "initiate");
Для получения билета службы для инициирования контекста с сервисом «host» разрешение конструируется следующим образом:
ServicePermission("host/foo.example.com@EXAMPLE.COM", "initiate");
Для сервера Kerberos действие равно «accept». Например, разрешение, необходимое для доступа и использования секретного ключа сервера Kerberos «host» (telnet и тому подобное), конструируется следующим образом:
ServicePermission("host/foo.example.com@EXAMPLE.COM", "accept");
- С момента:
- 1.4
- См. также:
- Формат сериализации
Конструкторы
| Конструктор и описание |
|---|
ServicePermission(String servicePrincipal,
String action) Создать новый |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
boolean |
equals(Object obj) Проверяет два объекта ServicePermission на равенство. |
String |
getActions() Возвращает каноническое строковое представление действий. |
int |
hashCode() Возвращает хэш-код для этого объекта. |
boolean |
implies(Permission p) Проверяет, "подразумевает" ли этот объект разрешения службы Kerberos указанное разрешение. |
PermissionCollection |
newPermissionCollection() Возвращает объект PermissionCollection для хранения объектов ServicePermission. |
Методы, унаследованные от класса java.security.Permission
checkGuard, getName, toString
Методы, унаследованные от класса java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Конструкторы
ServicePermission
public ServicePermission(String servicePrincipal,
String action)
Создать новый ServicePermission со заданным servicePrincipal и action.
- Параметры:
-
servicePrincipal— имя принципала службы. Знак звёздочки (*) может стоять самостоятельно, чтобы обозначить любой принципал службы. -
action— строка действия
Методы
implies
public boolean implies(Permission p)
Проверяет, "подпресматривает" ли этот объект разрешения службы Kerberos указанное разрешение.
Если ни одно из вышеперечисленных условий не выполняется, implies возвращает false.
- Определено в:
-
impliesв классеPermission - Параметры:
-
p— разрешение для проверки. - Возвращает:
- true, если указанное разрешение подразумевается этим объектом; false в противном случае.
equals
public boolean equals(Object obj)
Проверяет два объекта ServicePermission на равенство.
- Определено в:
-
equalsв классеPermission - Параметры:
-
obj— объект для проверки на равенство с этим объектом. - Возвращает:
- true, если obj является ServicePermission и имеет тот же принципал службы и те же действия, что и этот объект ServicePermission.
- См. также:
-
Object.hashCode(),HashMap
hashCode
public int hashCode()
Возвращает хэш-код для этого объекта.
- Определено в:
-
hashCodeв классеPermission - Возвращает:
- хэш-код для этого объекта.
- См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
getActions
public String getActions()
Возвращает каноническое строковое представление действий. Всегда возвращает имеющиеся действия в следующем порядке: initiate, accept.
- Определено в:
-
getActionsв классеPermission - Возвращает:
- действия этого разрешения.
newPermissionCollection
public PermissionCollection newPermissionCollection()
Возвращает объект PermissionCollection для хранения объектов ServicePermission.
Объекты ServicePermission должны храниться таким образом, чтобы их можно было вставлять в коллекцию в любом порядке, но это также позволяет методу PermissionCollection implies реализовываться эффективно (и последовательно).
- Переопределяет:
-
newPermissionCollectionв классеPermission - Возвращает:
- новый объект PermissionCollection, подходящий для хранения ServicePermission.
© 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.