Разработка:storages/acl — различия между версиями

Материал из DOF
Перейти к: навигация, поиск
м (Стандартные полномочия для хранилищ и рабочих процессов)
(убраны категории, добавляемые шаблоном)
Строка 40: Строка 40:
 
===Дополнительные методы:===
 
===Дополнительные методы:===
  
[[Категория:Разработка]]
 
[[Категория:Плагины_storages]]
 
 
[[Категория:Управление доступом]]
 
[[Категория:Управление доступом]]

Версия 20:11, 24 октября 2012

Плагин
Название acl
Тип storages


Таблица в базе данных

acl - справочник полномочий. Подробные правила работы с полномочиями описаны в разделе: Управление доступом.

Подробный формат полей в таблице:

  • id - номер записи
  • code - код полномочия (текстовое, необязательное, при указании кода проверяется уникальность)
  • plugintype - тип плагина (im, storage, workflow, sync, modlib)
  • plugincode - код плагина
  • objectid - id объекта к которому дается доступ (или 0 если доступ дается ко всем объектам)
  • aclwarrantid - id записи из таблица aclwarrants

Стандартные полномочия для хранилищ и рабочих процессов

В каждом плагине storage для определения уровня доступа к объекту следует использовать стандартные обозначения:

  • view - право просматривать объект из таблицы
  • edit - право редактировать объект из таблицы
  • create - право создавать новый объект в таблице
  • delete - право удалять объект из таблицы
  • viewbase - право просматривать сокращенную информацию по объекту (например при просмотре списка записей)
  • viewextended - право просматривать расширенную информацию по объекту (все поля)
  • edit:имя_поля - право редактировать отдельное поле
  • view:имя_поля - право просматривать отдельное поле
  • changestatus - вообще изменять статус (с любого на любой)
  • changestatus:from:статус - изменять статус с указанного
  • changestatus:to:статус - изменять статус на указанный


Также при создании права можно указать отношение, которое указанный пользователь имеет к объекту, на который назначены права. Отношение указывается через прямой слеш "/".

Примеры:

  • 'edit/owner' - право редактировать объект для владельца.
  • 'changestatus:all/owner' - право на любое изменение статуса для владельца объекта

Дополнительные методы: