NPJ next: Документация/СпискиДоступаИлиACL ...

Главная | Каталог | Изменения | НовыеКомментарии | Пользователи | Вам запрещён доступРегистрация | Вход:  Пароль:  

Списки Доступа, или ACL


Концепция ACL

Списки доступа (ACLs) – это текстовые списки, содержащие ряд обозначений, разделённых пробелом или переводом строки.
Отрицание имеет большую силу, чем разрешение (список из двух записей kuso !kuso не даёт доступа никому, кроме владельца документа; список из двух записей * !bg@npj даёт доступ всем, включая гостей – нерегистрированных, кроме пользователя bg с узла npj).

Автор и владелец всегда может получить доступ к документу, поэтому пустой список доступа означает — «нет доступа никому, кроме владельца документа».

Примеры возможных обозначений в ACL

Обозначения


Знак ! – отрицание. Не. !kuso исключит kuso из тех, кому доступен документ, даже если kuso входит в какую-то группу, которой доступ разрешен.

Знак * – означает «всем». !* – никому (т.е. работает также, как пустой список ACL). Никому означает, что нет доступа никому, кроме владельца документа.

Знак @ – часть НПЖ-адресации, а не часть обозначений в ACL. Вкратце, kuso@npj – пользователь kuso с узла npj. miha@systema – пользователь miha с узла systema.

Группы

Знак & – обозначение того, что следующее за ним слово не имя пользователя, а имя группы.

Группы пользователей создаются по адресу your@npj:friends/groups/edit/confidents. Группы пользователей при обработке ACL некоторого документа берутся из того аккаунта, в пространстве которого документ находится. Если документ размещён в bg@npj – берутся группы bg@npj. Если размещён в РГ, берутся группы этой РГ.

Предустановленные группы у личного аккаунта бывают такие: «Все конфиденты» и «Все корреспонденты».
Соответственно, работают &ВсеКонфиденты и &ВсеКорреспонденты.

Предустановленные группы у РГ бывают такие: «Команда», «Менеджеры» и «Наблюдатели».
Их тоже можно использовать в ACLs.

Типы списков доступа

У каждого документа существует 10 списков ограничения доступа, разбитые на четыре группы:

Список ограничения доступа «на чтение» ограничивает и все остальные тоже, кроме списка «на применение Actions». Т.е., даже если вы поставите в списке «на запись» значение *, а в списке «на чтение» будет стоять * !kuso@npj, то пользователь kuso@npj не сможет ни посмотреть на документ, ни изменить его.

Список «на применение Actions» — особенный тем, что он не зависит от доступа на чтение. Он даёт возможность независимо разрешить или запретить применение Actions к этой записи — построение её Table Of Contents или получения ленты сообщений, привязанных к управляемой рубрике. Важно заметить, что Include пользуется не этим списком, а списком «на чтение».

Списки ограничения доступа «на просмотр и изменение настроек доступа» позволяют делегировать права на управление доступом к этому документу.

Кроме того, у журнала есть ещё один «список доступа», поведение в котором отличается от всех остальных. Это бан-лист, т.е. те пользователи, которые попадают в этот список, никогда ничего не увидят и не смогут сделать в вашем журнале.

Права «по-умолчанию» и наследование прав

При создании нового документа, настройки доступа к нему заимствуются из того документа, на котором была вызвана функция добавления. Т.е., например, your@npj:add — создаст документ с настройками доступа такими же, как и у корневого документа вашего журнала (см. your@npj:rights).

Таким образом, вы можете настроить себе основные умолчательный настройки — именно здесь.
Кроме того, вы можете создать сколько угодно сложных типовых настроек и пользоваться ими по следующей схеме:

Маркировка документов с ограниченным доступом

Для удобства читателей, НПЖ-ссылки на документы с ограниченным доступом маркируются следующим образом:

Отличия от других моделей управления доступом

Списки доступа применяются для гибкого, но неспешного управления доступом, поэтому для сообщений, где требуется высокая производительность при выводе ленты, они не могут быть использованы.

Доступ к сообщениям ограничивается с помощью модели «групп доступа» — тех самых, что можно использовать в ACL через синтаксис &ИмяГруппы.

 
Один файл. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]
Поделиться ссылкой