Spec-Zone.ru › OpenJDK 17

Класс 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 может быть получен посредством обмена с Сервисом аутентификации.

Предоставление этого разрешения также подразумевает создание KerberosPrincipal или GSSName без предоставления области Kerberos, если главный принцип сервиса в этой области.

Возможные действия:

    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)
Создаёт новый ServicePermission со заданным servicePrincipal и 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-разрешения на доступ к сервису указанное разрешение.

Более конкретно, этот метод возвращает true, если все следующие условия верны (и возвращает false, если хотя бы одно из них не выполняется):

  • p является экземпляром ServicePermission,
  • действия p являются надмножеством действий данного ServicePermission'а,
  • имя p равно имени данного ServicePermission'а или имя данного ServicePermission'а равно "*".
Унаследовано от:
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, подходящий для хранения ServicePermissions.

© 1993, 2021, 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/17/docs/api/java.security.jgss/javax/security/auth/kerberos/ServicePermission.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API