Spec-Zone.ru › OpenJDK 8

Класс PrivateCredentialPermission

  • java.lang.Object
    • java.security.Permission
      • javax.security.auth.PrivateCredentialPermission
Все реализуемые интерфейсы:
Serializable, Guard

public final class PrivateCredentialPermission
extends Permission

Этот класс используется для защиты доступа к закрытым учетным данным, принадлежащим конкретной Subject. Subject представлен набором принципалов.

Имя целевого объекта этого Permission указывает имя класса Credential и набор принципалов. Единственное допустимое значение для действий этого разрешения — "read". Имя целевого объекта должно соответствовать следующему синтаксису:

CredentialClass {PrincipalClass "PrincipalName"}*

Например, следующее разрешение предоставляет доступ к com.sun.PrivateCredential, принадлежащему субъектам, у которых есть com.sun.Principal с именем "duke". Обратите внимание, что, хотя в этом примере, а также во всех примерах ниже, отсутствует информация о Codebase, SignedBy или Principal в заявлении о предоставлении (для простоты), фактические конфигурации политики должны указывать эту информацию, когда это необходимо.

grant {
      permission javax.security.auth.PrivateCredentialPermission
              "com.sun.PrivateCredential com.sun.Principal \"duke\"",
              "read";
    };

Если CredentialClass — "*", то доступ предоставляется ко всем закрытым учетным данным, принадлежащим указанному Subject. Если "PrincipalName" — "*", то доступ предоставляется к указанной учетной записи, принадлежащей любому Subject, у которого есть указанный Principal (фактическое PrincipalName не имеет значения). Например, следующее предоставляет доступ к a.b.Credential, принадлежащему любому Subject с a.b.Principal.

grant {
      permission javax.security.auth.PrivateCredentialPermission
              "a.b.Credential a.b.Principal "*"",
              "read";
    };

Если и PrincipalClass, и "PrincipalName" — "*", то доступ предоставляется к указанной учетной записи, принадлежащей любому Subject.

Кроме того, пара PrincipalClass/PrincipalName может повторяться:

grant {
      permission javax.security.auth.PrivateCredentialPermission
              "a.b.Credential a.b.Principal "duke" c.d.Principal "dukette"",
              "read";
    };

Вышеуказанное предоставляет доступ к закрытой учетной записи "a.b.Credential", принадлежащей Subject с, по крайней мере, двумя связанными принципалами: "a.b.Principal" с именем "duke" и "c.d.Principal" с именем "dukette".

См. также:
Сериализованная форма

Конструкторы

Конструктор и описание
PrivateCredentialPermission(String name, String actions)

Создает новый PrivateCredentialPermission со специфицированным name.

Методы

Модификатор и тип Метод и описание
boolean equals(Object obj)

Проверяет два объекта PrivateCredentialPermission на равенство.

String getActions()

Возвращает «каноническое строковое представление» действий.

String getCredentialClass()

Возвращает имя класса Credential, связанное с этим PrivateCredentialPermission.

String[][] getPrincipals()

Возвращает классы и имена Principal, связанные с этим PrivateCredentialPermission.

int hashCode()

Возвращает хэш-код для этого объекта.

boolean implies(Permission p)

Проверяет, подразумевает ли этот PrivateCredentialPermission указанный Permission.

PermissionCollection newPermissionCollection()

Возвращает однородный набор PrivateCredentialPermissions в PermissionCollection.

Методы, унаследованные от класса java.security.Permission

checkGuard, getName, toString

Методы, унаследованные от класса java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание конструкторов

PrivateCredentialPermission

public PrivateCredentialPermission(String name,
                                   String actions)

Создает новый PrivateCredentialPermission со специфицированным name. name указывает как класс Credential, так и Principal набор.

Параметры:
name - имя, указывающее класс Credential и Principal набор.
actions - действия, указывающие, что Credential может быть прочитан.
Исключения:
IllegalArgumentException - если name не соответствует правильному синтаксису или если actions не равно "read".

Подробное описание методов

getCredentialClass

public String getCredentialClass()

Возвращает имя класса Credential, связанное с этим PrivateCredentialPermission.

Возвращает:
имя класса Credential, связанное с этим PrivateCredentialPermission.

getPrincipals

public String[][] getPrincipals()

Возвращает классы и имена Principal, связанные с этим PrivateCredentialPermission.

Информация возвращается в виде двумерного массива (array[x][y]). Значение 'x' соответствует количеству пар класса и имени Principal. Когда (y==0), это значение соответствует классу Principal, а когда (y==1), это значение соответствует имени Principal.

Например, array[0][0] соответствует имени класса первого Principal в массиве. array[0][1] соответствует имени Principal первого Principal в массиве.

Возвращает:
классы и имена Principal, связанные с этим PrivateCredentialPermission.

implies

public boolean implies(Permission p)

Проверяет, подразумевает ли этот PrivateCredentialPermission указанный Permission.

Этот метод возвращает true, если:

  • p является экземпляром PrivateCredentialPermission
  • имя целевого объекта p подразумевается именем целевого объекта этого объекта. Например:
    [* P1 "duke"] implies [a.b.Credential P1 "duke"].
      [C1 P1 "duke"] implies [C1 P1 "duke" P2 "dukette"].
      [C1 P2 "dukette"] implies [C1 P1 "duke" P2 "dukette"].
Задано:
implies в классе Permission
Параметры:
p - проверяемый Permission.
Возвращает:
true, если этот PrivateCredentialPermission подразумевает указанный Permission, false — в противном случае.

equals

public boolean equals(Object obj)

Проверяет два объекта PrivateCredentialPermission на равенство. Проверяет, что obj является PrivateCredentialPermission, имеет тот же класс credential, что и этот объект, а также те же принципалы, что и этот объект. Порядок принципалов в именах целевых объектов соответствующих разрешений не имеет значения.

Задано:
equals в классе Permission
Параметры:
obj - объект, с которым мы проверяем равенство с этим объектом.
Возвращает:
true, если obj является PrivateCredentialPermission, имеет тот же класс credential, что и этот объект, и имеет те же принципалы, что и этот объект.
См. также:
Object.hashCode(), HashMap

hashCode

public int hashCode()

Возвращает хэш-код для этого объекта.

Задано:
hashCode в классе Permission
Возвращает:
значение хэш-кода для этого объекта.
См. также:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

getActions

public String getActions()

Возвращает «каноническое строковое представление» действий. Этот метод всегда возвращает строку "read".

Задано:
getActions в классе Permission
Возвращает:
действия (всегда возвращает "read").

newPermissionCollection

public PermissionCollection newPermissionCollection()

Возвращает однородный набор PrivateCredentialPermissions в PermissionCollection. Такой PermissionCollection не определён, поэтому этот метод всегда возвращает null.

Переопределяет:
newPermissionCollection в классе Permission
Возвращает:
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.

Spec-Zone.ru

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