Работа в системе с учетом прав доступа
Права доступа ограничивают возможность выполнения действий с объектами системы и просмотр отдельных контентов карточки объекта.
Выполнение действий
При выполнении действий в системе права доступа проверяются по следующему алгоритму:
- Определяется право, регулирующее данное действие, и объект, с которым совершается действие.
- Вычисляется набор профилей, которые имеют данное право.
- Ищется класс/тип объектов, в котором это право настраивается, а не наследуется. Поиск прав выполняется для каждого профиля.
- Проверяется наличие права хотя бы одного профиля из набора профилей текущего пользователя.
- Если право есть — операция выполняется.
- Если право не найдено — выводится сообщение об ошибке (отсутствие прав).
Права на выполнение отдельных действий описаны в соответствующих подразделах:
Просмотр карточки
При входе пользователя на карточку объекта права доступа проверяются по следующему алгоритму:
- Вычисляется набор профилей, которыми обладает текущий пользователь относительно класса объекта данной карточки.
- Ищется класс/тип объектов, в котором право просмотра настраивается, а не наследуется. Поиск прав выполняется для каждого профиля.
- Если права "Просмотр карточки объекта" не найдено ни для одного из профилей, то выводится сообщение об ошибке (отсутствие прав).
- Если право есть, то открывается карточка объекта, на которой отображаются разрешенные элементы интерфейса:
- Панель действия отображается, если есть право на действие, которое (или форму которого) вызывает кнопка.
-
Контент отображается, если есть право на просмотр контента.
Для каждого контента права доступа проверяются относительно объекта, на карточке которого размещен контент, за исключением списков объектов, в которых права проверяются относительно класса объектов, размещенных в списке.
Права, влияющие на просмотр элементов интерфейса в отдельных контентах, описаны в соответствующих разделах.
Карточка объекта, на просмотр которого нет прав, из списка объектов не открывается.