---
pkg: '@nocobase/plugin-acl'
---

# Применение в UI

## Разрешения для блоков данных

Видимость блоков данных в коллекции контролируется разрешениями на операцию просмотра. При этом индивидуальные настройки имеют приоритет над глобальными.

Например, как показано ниже: при глобальных разрешениях роль "admin" имеет полный доступ, но для коллекции "Заказы" могут быть настроены индивидуальные разрешения, делающие ее невидимой.

Конфигурация глобальных разрешений:

![](https://static-docs.nocobase.com/3d026311739c7cf5fdcd03f710d09bc4.png)

Конфигурация индивидуальных разрешений для коллекции "Заказы":

![](https://static-docs.nocobase.com/a88caba1cad47001c1610bf402a4a2c1.png)

В UI это проявляется в том, что все блоки коллекции "Заказы" не отображаются.

Полный процесс настройки:

![](https://static-docs.nocobase.com/b283c004ffe0b746fddbffcf4f27b1df.gif)

## Разрешения для полей

**Просмотр**: Определяет, видны ли определенные поля на уровне поля. Например, вы можете контролировать, какие поля коллекции "Заказы" будут видны для определенных ролей.

![](https://static-docs.nocobase.com/30dea84d984d95039e6f7b180955a6cf.png)

В UI в блоке коллекции "Заказы" отображаются только те поля, для которых настроены разрешения. Системные поля (Id, CreatedAt, LastUpdatedAt) сохраняют разрешения на просмотр даже без специальной настройки.

![](https://static-docs.nocobase.com/40cc49b517efe701147fd2e799e79dcc.png)

- **Редактирование**: Определяет, можно ли редактировать и сохранять (обновлять) поля.

  Например, настройте разрешения на редактирование для полей коллекции "Заказы" (поля "Количество" и "Связанные товары" имеют разрешения на редактирование):

  ![](https://static-docs.nocobase.com/6531ca4122f0887547b5719e2146ba93.png)

  В UI в блоке формы операции редактирования коллекции "Заказы" отображаются только те поля, для которых есть разрешения на редактирование.

  ![](https://static-docs.nocobase.com/12982450c311ec1bf87eb9dc5fb04650.png)

  Полный процесс настройки:

  ![](https://static-docs.nocobase.com/1dbe559a9579c2e052e194e50edc74a7.gif)

- **Добавление**: Определяет, можно ли добавлять (создавать) поля.

  Например, настройте разрешения на добавление для полей коллекции "Заказы" (поля "Номер заказа", "Количество", "Товары" и "Отгрузка" имеют разрешения на добавление):

  ![](https://static-docs.nocobase.com/3ab1bbe41e61915e920fd257f2e0da7e.png)

  В UI в блоке формы операции добавления коллекции "Заказы" отображаются только те поля, для которых есть разрешения на добавление.

  ![](https://static-docs.nocobase.com/8d0c07893b63771c428974f9e126bf35.png)

- **Экспорт**: Определяет, можно ли экспортировать поля.
- **Импорт**: Определяет, поддерживают ли поля импорт.

## Разрешения для операций

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

- **Добавление**: Определяет, видна ли кнопка операции добавления в блоке.

  Например, настройте индивидуальные разрешения для коллекции "Заказы", разрешив добавление:

  ![](https://static-docs.nocobase.com/2e3123b5dbc72ae78942481360626629.png)

  Если операция добавления разрешена, кнопка "Добавить" отображается в области операций блока коллекции "Заказы" в UI.

  ![](https://static-docs.nocobase.com/f0458980d450544d94c73160d75ba96c.png)

- **Просмотр**: Контролирует видимость блока данных.

  Например, конфигурация глобальных разрешений (без разрешения на просмотр):

  ![](https://static-docs.nocobase.com/6e4a1e6ea92f50bf84959dedbf1d5683.png)

  Индивидуальная конфигурация разрешений для коллекции "Заказы":

  ![](https://static-docs.nocobase.com/f2dd142a40fe19fb657071fd901b2291.png)

  В UI это проявляется так: блоки данных для всех остальных коллекций остаются скрытыми, но блок коллекции "Заказы" отображается.

  Полный пример процесса настройки:

  ![](https://static-docs.nocobase.com/b92f0edc51a27b52e85cdeb76271b936.gif)

- **Редактирование**: Контролирует видимость кнопки операции редактирования внутри блока.

  ![](https://static-docs.nocobase.com/fb1c0290e2a833f1c2b415c761e54c45.gif)

  Разрешения для операций можно дополнительно уточнить, установив область данных.

  Например, настройте коллекцию "Заказы" так, чтобы пользователи могли редактировать только свои собственные данные:

  ![](https://static-docs.nocobase.com/b082308f62a3a9084cab78a370c14a9f.gif)

- **Удаление**: Контролирует видимость кнопки операции удаления в блоке.

  ![](https://static-docs.nocobase.com/021c9e79bcc1ad221b606a9555ff5644.gif)

- **Экспорт**: Контролирует видимость кнопки операции экспорта в блоке.

- **Импорт**: Контролирует видимость кнопки операции импорта в блоке.

## Разрешения для связей

### Как поле

- Разрешения поля связи контролируются разрешениями полей исходной коллекции. Это определяет, отображается ли компонент поля связи целиком.

Например, в коллекции "Заказы" поле связи "Клиент" имеет только разрешения на просмотр, импорт и экспорт.

![](https://static-docs.nocobase.com/d0dc797aae73feeabc436af285dd4f59.png)

В UI это означает, что поле связи "Клиент" не будет отображаться в блоках операций добавления и редактирования коллекции "Заказы".

Полный пример процесса настройки:

![](https://static-docs.nocobase.com/372f8a4f414feea097c23b2ba326c0ef.gif)

- Разрешения для полей внутри компонента поля связи (например, подтаблицы или подформы) определяются разрешениями целевой коллекции.

Когда компонент поля связи является подформой:

Как показано ниже, поле связи "Клиент" в коллекции "Заказы" имеет все разрешения, в то время как для самой коллекции "Клиенты" установлены индивидуальные разрешения только для чтения.

Индивидуальная конфигурация разрешений для коллекции "Заказы", где поле связи "Клиент" имеет все разрешения для полей:

![](https://static-docs.nocobase.com/3a3ab9722f14a7b3a35361219d67fa40.png)

Индивидуальная конфигурация разрешений для коллекции "Клиенты", где поля имеют разрешения только для просмотра:

![](https://static-docs.nocobase.com/46704d179b931006a9a22852e6c5089e.png)

В UI поле связи "Клиент" видно в блоке коллекции "Заказы". Однако при переключении на подформу поля внутри подформы видны в режиме просмотра деталей, но не отображаются при операциях добавления и редактирования.

Полный пример процесса настройки:

![](https://static-docs.nocobase.com/932dbf6ac46e36ee357ff3e8b9ea1423.gif)

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

Как показано, для коллекции "Клиенты" настроены индивидуальные разрешения для полей (поле "Имя клиента" невидимо и нередактируемо).

![](https://static-docs.nocobase.com/e7b875521cbc4e28640f027f36d0413c.png)

Полный пример процесса настройки:

![](https://static-docs.nocobase.com/7a07e68c2fe2a13f0c2cef19be489264.gif)

Когда компонент поля связи является подтаблицей, ситуация аналогична подформе:

Как показано, поле связи "Отгрузка" в коллекции "Заказы" имеет все разрешения, в то время как для коллекции "Отгрузки" установлены индивидуальные разрешения только для чтения.

В UI это поле связи видимо. Однако при переключении на подтаблицу поля внутри подтаблицы видны при операции просмотра, но не видны при операциях добавления и редактирования.

![](https://static-docs.nocobase.com/fd4b7d81cdd765db789d9c85cf9dc324.gif)

Для дальнейшего контроля разрешений для полей внутри подтаблицы вы можете предоставить разрешения отдельным полям:

![](https://static-docs.nocobase.com/51d70a624cb2b0366e421bcdc8abb7fd.gif)

### Как блок

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

Например, отображение блока связи "Клиент" контролируется разрешениями коллекции "Клиенты".

![](https://static-docs.nocobase.com/633ebb301767430b740ecfce11df47b3.gif)

- Поля внутри блока связи контролируются разрешениями полей в целевой коллекции.

Как показано, вы можете установить разрешения на просмотр для отдельных полей в коллекции "Клиенты".

![](https://static-docs.nocobase.com/35af9426c20911323b17f67f81bac8fc.gif)