Интерфейс Acl

Все суперинтерфейсы:
Owner
@Deprecated(since="9",
            forRemoval=true)
public interface Acl
extends Owner
Устаревший, подлежит удалению: Этот элемент API может быть удален в будущей версии.
Этот класс устарел и будет удалён в будущей версии Java SE. Он был заменён на java.security.Policy и связанные классы начиная с версии 1.2.

Интерфейс, представляющий список управления доступом (ACL). Список управления доступом — это структура данных, используемая для защиты доступа к ресурсам.

ACL можно представить как структуру данных с несколькими записями ACL. Каждая запись ACL, имеющая тип AclEntry, содержит набор разрешений, связанных с конкретным принципалом. (Принципал представляет собой сущность, например, отдельного пользователя или группу). Кроме того, каждая запись ACL определяется как положительная или отрицательная. Если положительная, разрешения предоставляются связанному принципалу. Если отрицательная, разрешения отказываются.

Записи ACL в каждом ACL следуют следующим правилам:

  • Каждый принципал может иметь не более одной положительной записи ACL и одной отрицательной записи; то есть, несколько положительных или отрицательных записей ACL не допускаются для любого принципала. Каждая запись определяет набор разрешений, которые должны быть предоставлены (если положительная) или запрещены (если отрицательная).
  • Если для определённого принципала нет записи, то считается, что у принципала пустой (нулевой) набор разрешений.
  • Если есть положительная запись, предоставляющая принципалу определённое разрешение, и отрицательная запись, отказывающая принципалу в этом же разрешении, результат будет таким, как если бы разрешение никогда не предоставлялось или не отказывалось.
  • Индивидуальные разрешения всегда переопределяют разрешения групп, к которым принадлежит конкретный индивидуум. То есть, индивидуальные отрицательные разрешения (специфическое запрещение разрешений) переопределяют положительные разрешения групп. И индивидуальные положительные разрешения переопределяют отрицательные разрешения групп.
Пакет java.security.acl предоставляет интерфейсы к ACL и связанным структурам данных (записи ACL, группы, разрешения и т. д.).

Интерфейс java.security.acl.Acl расширяет интерфейс java.security.acl.Owner . Интерфейс Owner используется для поддержания списка владельцев для каждого ACL. Только владельцы имеют право изменять ACL. Например, только владелец может вызвать метод addEntry ACL для добавления новой записи ACL.

С версии:
1.1
См. также:
AclEntry, Owner, getPermissions(java.security.Principal)

Методы

Модификатор и тип Метод Описание
boolean addEntry​(Principal caller, AclEntry entry)

Устаревший, подлежит удалению: Этот элемент API может быть удален в будущей версии.

Добавляет запись ACL в этот ACL.

boolean checkPermission​(Principal principal, Permission permission)

Устаревший, подлежит удалению: Этот элемент API может быть удален в будущей версии.

Проверяет, обладает ли указанный принципал указанным разрешением.

Enumeration<AclEntry> entries()

Устаревший, подлежит удалению: Этот элемент API может быть удален в будущей версии.

Возвращает перечисление записей в этом ACL.

String getName()

Устаревший, подлежит удалению: Этот элемент API может быть удален в будущей версии.

Возвращает имя этого ACL.

Enumeration<Permission> getPermissions​(Principal user)

Устаревший, подлежит удалению: Этот элемент API может быть удален в будущей версии.

Возвращает перечисление набора разрешений, разрешённых для указанного принципала (представляющего сущность, такую как отдельное лицо или группа).

boolean removeEntry​(Principal caller, AclEntry entry)

Устаревший, подлежит удалению: Этот элемент API может быть удален в будущей версии.

Удаляет запись ACL из этого ACL.

void setName​(Principal caller, String name)

Устаревший, подлежит удалению: Этот элемент API может быть удален в будущей версии.

Устанавливает имя этого ACL.

String toString()

Устаревший, подлежит удалению: Этот элемент API может быть удален в будущей версии.

Возвращает строковое представление содержимого ACL.

Методы, объявленные в интерфейсе java.security.acl.Owner

addOwner, deleteOwner, isOwner

Методы

setName

void setName(Principal caller,
             String name)
      throws NotOwnerException
Устаревший, для удаления: Этот элемент API может быть удален в будущей версии.

Устанавливает имя этого списка управления доступом.

Параметры:
caller - субъект, вызывающий этот метод. Он должен быть владельцем этого списка управления доступом.
name - имя, которое должно быть присвоено этому списку управления доступом.
Исключения:
NotOwnerException - если вызывающий субъект не является владельцем этого списка управления доступом.
См. также:
getName()

getName

String getName()
Устаревший, для удаления: Этот элемент API может быть удален в будущей версии.

Возвращает имя этого списка управления доступом.

Возвращает:
имя этого списка управления доступом.
См. также:
setName(java.security.Principal, java.lang.String)

addEntry

boolean addEntry(Principal caller,
                 AclEntry entry)
          throws NotOwnerException
Устаревший, для удаления: Этот элемент API может быть удален в будущей версии.

Добавляет запись списка управления доступом в этот список. Запись связывает субъект (например, человека или группу) с набором разрешений. Каждый субъект может иметь не более одной положительной записи списка управления доступом (указывающей разрешения, предоставляемые субъекту) и одной отрицательной записи (указывающей разрешения, которые запрещены). Если в списке уже есть запись того же типа (отрицательная или положительная), возвращается false.

Параметры:
caller - субъект, вызывающий этот метод. Он должен быть владельцем этого списка управления доступом.
entry - запись списка управления доступом, которая должна быть добавлена в этот список.
Возвращает:
true при успехе, false, если запись того же типа (положительная или отрицательная) для того же субъекта уже присутствует в этом списке управления доступом.
Исключения:
NotOwnerException - если вызывающий субъект не является владельцем этого списка управления доступом.

removeEntry

boolean removeEntry(Principal caller,
                    AclEntry entry)
             throws NotOwnerException
Устаревший, для удаления: Этот элемент API может быть удален в будущей версии.

Удаляет запись списка управления доступом из этого списка.

Параметры:
caller - субъект, вызывающий этот метод. Он должен быть владельцем этого списка управления доступом.
entry - запись списка управления доступом, которая должна быть удалена из этого списка.
Возвращает:
true при успехе, false, если запись не является частью этого списка.
Исключения:
NotOwnerException - если вызывающий субъект не является владельцем списка управления доступом.

getPermissions

Enumeration<Permission> getPermissions(Principal user)
Устаревший, для удаления: Этот элемент API может быть удален в будущей версии.
Возвращает перечисление набора разрешенных разрешений для указанного субъекта (представляющего сущность, такую как человек или группа). Этот набор разрешенных разрешений вычисляется следующим образом:
  • Если в этом списке управления доступом нет записи для указанного субъекта, возвращается пустой набор разрешений.
  • В противном случае определяются наборы разрешений группы субъекта. (Субъект может принадлежать к одной или нескольким группам, где группа — это группа субъектов, представленная интерфейсом Group.) Набор положительных разрешений группы является объединением всех положительных разрешений каждой группы, к которой принадлежит субъект. Набор отрицательных разрешений группы является объединением всех отрицательных разрешений каждой группы, к которой принадлежит субъект. Если есть конкретное разрешение, которое встречается как в наборе положительных разрешений, так и в наборе отрицательных разрешений, оно удаляется из обоих.

    Также определяются индивидуальные наборы положительных и отрицательных разрешений. Набор положительных разрешений содержит разрешения, указанные в положительной записи списка управления доступом (если таковая имеется) для субъекта. Аналогично, набор отрицательных разрешений содержит разрешения, указанные в отрицательной записи списка управления доступом (если таковая имеется) для субъекта. Индивидуальный набор положительных (или отрицательных) разрешений считается равным null, если в этом списке управления доступом нет положительной (отрицательной) записи для субъекта.

    Набор разрешений, предоставленных субъекту, вычисляется с использованием простого правила, что индивидуальные разрешения всегда переопределяют групповые разрешения. То есть, индивидуальный набор отрицательных разрешений субъекта (специфическое запрещение разрешений) переопределяет набор положительных разрешений группы, а индивидуальный набор положительных разрешений субъекта переопределяет набор отрицательных разрешений группы.

Параметры:
user - субъект, для которого требуется вернуть набор разрешений.
Возвращает:
набор разрешений, определяющий разрешения, разрешенные субъекту.

entries

Enumeration<AclEntry> entries()
Устаревший, для удаления: Этот элемент API может быть удален в будущей версии.

Возвращает перечисление записей в этом списке управления доступом. Каждый элемент в перечислении имеет тип AclEntry.

Возвращает:
перечисление записей в этом списке управления доступом.

checkPermission

boolean checkPermission(Principal principal,
                        Permission permission)
Устаревший, для удаления: Этот элемент API может быть удален в будущей версии.

Проверяет, имеет ли указанный субъект указанное разрешение. Если имеет, возвращается true, в противном случае возвращается false. Более конкретно, этот метод проверяет, является ли переданное разрешение членом набора разрешенных разрешений указанного субъекта. Набор разрешенных разрешений определяется тем же алгоритмом, что и метод getPermissions.

Параметры:
principal - субъект, предполагаемый как действительный аутентифицированный субъект.
permission - разрешение, которое нужно проверить.
Возвращает:
true, если субъект имеет указанное разрешение, false в противном случае.
См. также:
getPermissions(java.security.Principal)

toString

String toString()
Устаревший, для удаления: Этот элемент API может быть удален в будущей версии.

Возвращает строковое представление содержимого списка управления доступом.

Переопределяет:
toString в классе Object
Возвращает:
строковое представление содержимого списка управления доступом.

© 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/java/security/acl/Acl.html

Spec-Zone .ru
спецификации, руководства, описания, API