Дизайнер ролей

Studio предоставляет визуальный конструктор для редактирования параметров ресурсных ролей и их разрешений во время разработки.

Для этой функции требуется подписка RAD или Enterprise. Если у вас нет подписки, см. как получить пробную версию.

Чтобы создать новую ресурсную роль, используйте меню в Окне инструментов Jmix.

role open

В появившемся диалоговом окне введите имя роли и ее код.

role create

Дизайнер ролей интегрирован с редактором кода, который доступен на вкладке Text. Вы можете редактировать исходный код напрямую или использовать для создания кода элементы управления дизайнера.

Вкладка Definition определяет основные атрибуты роли.

role definition

Код роли используется при назначении роли пользователям, поэтому его не следует изменять после того, как роль была назначена некоторым пользователям.

На вкладке User Interface вы можете определить разрешения для элементов меню и экранов.

role user interface

Дерево слева отображает структуру главного меню, экранов, определенных проектом и экранов, унаследованных от фреймворка и дополнений. В группе All Screens отображаются все оставшиеся экраны приложений, недоступные напрямую через главное меню. Найти нужный экран можно с помощью поля поиска, расположенного над деревом.

Все пункты меню и экраны по умолчанию запрещены. Выбрав элемент слева и Allow в панели справа, вы добавите разрешение на открытие соответствующего пункта меню или экрана.

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

Флажок Allow all screens полезен, если нужно предоставить доступ ко всем экранам или запретить доступ только к некоторым.

На вкладке Entities можете определить разрешения CRUD для сущностей и атрибутов сущностей.

role entities

В таблице панели слева отображаются сущности, определенные в проекте, а также унаследованные от фреймворка и дополнений. Список сущностей можно отфильтровать по имени с помощью поля поиска, расположенного над таблицей.

Панель инструментов над сущностями содержит следующие действия:

  • Current project only – включает отображение унаследованных сущностей.

  • Assigned only – включает отображение сущностей, не имеющих разрешений.

По умолчанию все операции с сущностями запрещены. Используя флажки в таблице, вы можете разрешить определенные операции для выбранной сущности.

В таблице справа отображаются разрешения атрибутов для выбранной сущности. Все атрибуты сущности по умолчанию запрещены для просмотра и изменения. Установив флажки View и Modify, вы можете определить необходимый уровень доступа для выбранного атрибута.

Символ подстановки [*] в таблице атрибутов позволяет пометить все атрибуты как доступные для просмотра (View) или изменения (Modify), включая те атрибуты, которые будут добавлены к выбранной сущности в будущем.

Флажок Allow all в таблице сущностей разрешает все операции CRUD и позволяет изменять (Modify) все атрибуты, делая выбранную сущность полностью доступной для текущей роли.

На вкладке Specific вы можете определить определенные разрешения.

role specific

Фреймворк использует определенные разрешения для ограничения доступа к различным механизмам. В дереве можно увидеть разрешения, унаследованные от фреймворка и дополнений.

Чтобы добавить разрешение, используйте кнопку "плюс" на панели инструментов над деревом. В поле Resource нужно указать имя политики, определенной в вашем проекте. Узнайте, как создать специальную политику, в разделе Специальная политика.

Все специальные политики запрещены по умолчанию. Выберите политику в дереве и разрешите доступ на панели справа.