A.7. permissions.xml
Файлы данного типа используются в блоке Web Client для регистрации специфических разрешений пользователей.
Расположение файла задается в свойстве приложения cuba.permissionConfig. При создании нового проекта в Studio, она создает файл web-permissions.xml
в корневом пакете модуля web, например modules/web/src/com/company/sample/web-permissions.xml
.
Схема XML доступна по адресу http://schemas.haulmont.com/cuba/7.2/permissions.xsd.
Рассмотрим структуру файла.
permission-config
- корневой элемент.
Элементы permission-config
:
-
specific
- описатель специфических разрешений.Элементы
specific
:-
category
- категория разрешений, используется для группировки в экране управления разрешениями роли. Атрибутid
используется как ключ для получения локализованного названия категории. -
permission
- именованное разрешение. Атрибутid
используется для получения значения разрешения методомSecurity.isSpecificPermitted()
, а также как ключ для получения локализованного названия разрешения для отображения в экране управления разрешениями роли.
-
Пример:
<permission-config xmlns="http://schemas.haulmont.com/cuba/permissions.xsd">
<specific>
<category id="app">
<permission id="app.payments.exportTransactionsToPdf"/>
<permission id="app.orders.modifyInvoicedOrders"/>
</category>
</specific>
</permission-config>
Для того чтобы локализовать названия категорий и специфических разрешений, задайте ключи в главном пакете сообщений:
permission-config.app = Demo application permissions
permission-config.app.payments.exportTransactionsToPdf = Export transactions to pdf
permission-config.app.orders.modifyInvoicedOrders = Modify invoiced orders