Мандаты

Назначение  мандаты предназначены для разграничения прав доступа пользователей к общему функционалу при назначении набора доступных функций по роли.

Роли необходимо назначить пользователям и группам пользователей.

Права доступа

Управление доступом субъектов доступа

Определение типа учетной записи.

Учетные записи делятся на два базовых типа:

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

Тип учетной записи пользователя определяется на основе поля root (boolean). Это поле отображено и доступно для редактирования только суперпользователям.

Учетные записи объединяются в группы (компании). Права (полномочия) группы определяют максимально-допустимый "потолок" возможностей пользователя.

Доступ субъектов к базам данных

Методы управления доступом

Для определения прав пользователя используется мандатно-ролевая система.

Функционирование мандатно-ролевой системы:

  • Администратор безопасности (есть доступ к модулю 'mondats') или суперпользователь создает роль и назначает ей(роли) набор доступных возможностей на основе списка доступных функций.
  • На группу и пользователей платформы назначается одна из доступных ролей.
  • При авторизации, пользователю установлен список доступных возможностей на основе пересечения возможностей прав доступа пользователя и группы в которую он входит.
  • При выполнении пользователем каких либо действий проверяются права доступа, и в случае успеха действия пользователя выполняются. Иначе,  запрос пользователя на изменение/получение/удаление данных не одобряются (не выполняются).


Коды ответов

Коды ответов на HTTP-запросы

  • 200 - OK.
    • Возвращает то что определено в вызываемом методе (JSON, html/js - файлы и т.д.).
  • 403 - Нет прав на просмотр страницы. (Не авторизованы или нет прав на просмотр содержимого, получения данных и т.д.)
    • Возвращает JSON: { success: false, code: 'Access denied.' }
  • 404 - Страница не найдена

Клиентская сторона

Для работы с мандатами на клиентской стороне, необходимо запросить список доступных мандатов и в соответствии со значением поля checked нужного свойства определить состояние ui-элемента.

Проверка мандатов

При отключении мандатов в разделе виджеты блокируются изменения рабочего стола:

  • Отключение dashboards_put_add блокирует добавление рабочего стола;
  • Отключение dashboards_delete блокирует удаление рабочего стола;
  • Отключение widgets_put_add блокирует добавление виджета;
  • Отключение widgets_delete блокирует удаление виджета;