Spec-Zone.ru › OpenJDK 8

Интерфейс Acl

Все суперинтерфейсы:
Owner

public interface Acl
extends Owner

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

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

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

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

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

См. также:
AclEntry, Owner, getPermissions(java.security.Principal)

Методы

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

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

boolean checkPermission(Principal principal, Permission permission)

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

Enumeration<AclEntry> entries()

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

String getName()

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

Enumeration<Permission> getPermissions(Principal user)

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

boolean removeEntry(Principal caller, AclEntry entry)

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

void setName(Principal caller, String name)

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

String toString()

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

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

addOwner, deleteOwner, isOwner

Методы

setName

void setName(Principal caller,
             String name)
      throws NotOwnerException

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

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

getName

String getName()

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

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

addEntry

boolean addEntry(Principal caller,
                 AclEntry entry)
          throws NotOwnerException

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

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

removeEntry

boolean removeEntry(Principal caller,
                    AclEntry entry)
             throws NotOwnerException

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

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

getPermissions

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

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

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

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

entries

Enumeration<AclEntry> entries()

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

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

checkPermission

boolean checkPermission(Principal principal,
                        Permission permission)

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

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

toString

String toString()

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

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

© 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