Spec-Zone.ru › OpenJDK 8

Класс 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)

Создать новый 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 указанное разрешение.

Если ни одно из вышеперечисленных условий не выполняется, 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.

Spec-Zone.ru

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