Мандаты
Назначение мандаты предназначены для разграничения прав доступа пользователей к общему функционалу при назначении набора доступных функций по роли.
Роли необходимо назначить пользователям и группам пользователей.
Права доступа
Управление доступом субъектов доступа
Определение типа учетной записи.
Учетные записи делятся на два базовых типа:
- учетная запись суперпользователя - доступен весь функционал платформы;
- учетная запись пользователя- права доступа представляют собой пересечение доступных возможностей между ролью пользователя и ролью, назначенной группе (к которой принадлежит пользователь).
Тип учетной записи пользователя определяется на основе поля root (boolean). Это поле отображено и доступно для редактирования только суперпользователям.
Учетные записи объединяются в группы (компании). Права (полномочия) группы определяют максимально-допустимый "потолок" возможностей пользователя.
Доступ субъектов к базам данных
Методы управления доступом
Для определения прав пользователя используется мандатно-ролевая система.
Функционирование мандатно-ролевой системы:
- Администратор безопасности (есть доступ к модулю 'mondats') или суперпользователь создает роль и назначает ей(роли) набор доступных возможностей на основе списка доступных функций.
- На группу и пользователей платформы назначается одна из доступных ролей.
- При авторизации, пользователю установлен список доступных возможностей на основе пересечения возможностей прав доступа пользователя и группы в которую он входит.
- При выполнении пользователем каких либо действий проверяются права доступа, и в случае успеха действия пользователя выполняются. Иначе, запрос пользователя на изменение/получение/удаление данных не одобряются (не выполняются).
Коды ответов
Коды ответов на HTTP-запросы
200- OK.- Возвращает то что определено в вызываемом методе (JSON, html/js - файлы и т.д.).
403- Нет прав на просмотр страницы. (Не авторизованы или нет прав на просмотр содержимого, получения данных и т.д.)- Возвращает JSON:
{ success: false, code: 'Access denied.' }
- Возвращает JSON:
404- Страница не найдена
Клиентская сторона
Для работы с мандатами на клиентской стороне, необходимо запросить список доступных мандатов и в соответствии со значением поля checked нужного свойства определить состояние ui-элемента.
Проверка мандатов
При отключении мандатов в разделе виджеты блокируются изменения рабочего стола:
- Отключение dashboards_put_add блокирует добавление рабочего стола;
- Отключение dashboards_delete блокирует удаление рабочего стола;
- Отключение widgets_put_add блокирует добавление виджета;
- Отключение widgets_delete блокирует удаление виджета;