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


# Объединение ролей

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

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

## Независимые роли

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

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

## Разрешить объединение ролей

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

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

## Только объединение ролей

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

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

## Правила объединения ролей

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

### Объединение операционных разрешений

Пример: Роль 1 (role1) настроена на разрешение конфигурации интерфейса, а Роль 2 (role2) — на разрешение установки, активации и деактивации плагинов.

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

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

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

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

### Объединение области данных

#### Строки данных

Сценарий 1: Несколько ролей устанавливают условия для одного и того же поля

Фильтр Роли A: Age < 30

| UserID | Name | Age |
| ------ | ---- | --- |
| 1      | Jack | 23  |
| 2      | Lily | 29  |

Фильтр Роли B: Age > 25

| UserID | Name | Age |
| ------ | ---- | --- |
| 2      | Lily | 29  |
| 3      | Sam  | 32  |

**После объединения:**

| UserID | Name | Age |
| ------ | ---- | --- |
| 1      | Jack | 23  |
| 2      | Lily | 29  |
| 3      | Sam  | 32  |

Сценарий 2: Разные роли устанавливают условия для разных полей

Фильтр Роли A: Age < 30

| UserID | Name | Age |
| ------ | ---- | --- |
| 1      | Jack | 23  |
| 2      | Lily | 29  |

Фильтр Роли B: Name содержит "Ja"

| UserID | Name   | Age |
| ------ | ------ | --- |
| 1      | Jack   | 23  |
| 3      | Jasmin | 27  |

**После объединения:**

| UserID | Name   | Age |
| ------ | ------ | --- |
| 1      | Jack   | 23  |
| 2      | Lily   | 29  |
| 3      | Jasmin | 27  |

#### Столбцы данных

Видимые столбцы Роли A: Name, Age

| UserID | Name | Age |
| ------ | ---- | --- |
| 1      | Jack | 23  |
| 2      | Lily | 29  |

Видимые столбцы Роли B: Name, Sex

| UserID | Name | Sex   |
| ------ | ---- | ----- |
| 1      | Jack | Man   |
| 2      | Lily | Woman |

**После объединения:**

| UserID | Name | Age | Sex   |
| ------ | ---- | --- | ----- |
| 1      | Jack | 23  | Man   |
| 2      | Lily | 29  | Woman |

#### Смешанные строки и столбцы

Фильтр Роли A: Age < 30, видимые столбцы: Name, Age

| UserID | Name | Age |
| ------ | ---- | --- |
| 1      | Jack | 23  |
| 2      | Lily | 29  |

Фильтр Роли B: Name содержит "Ja", видимые столбцы: Name, Sex

| UserID | Name  | Sex   |
| ------ | ----- | ----- |
| 3      | Jade  | Woman |
| 4      | James | Man   |

**После объединения:**

| UserID | Name  | Age                                              | Sex                                                 |
| ------ | ----- | ------------------------------------------------ | --------------------------------------------------- |
| 1      | Jack  | 23                                               | <span style="background-color:#FFDDDD">Man</span>   |
| 2      | Lily  | 29                                               | <span style="background-color:#FFDDDD">Woman</span> |
| 3      | Jade  | <span style="background-color:#FFDDDD">27</span> | Woman                                               |
| 4      | James | <span style="background-color:#FFDDDD">31</span> | Man                                                 |

**Примечание:** Ячейки с выделенными данными невидимы в отдельных ролях, но становятся видимыми в объединенной роли.

#### Итог

Правила объединения ролей для области данных:

1.  Между строками: если выполняется хотя бы одно условие, строка имеет разрешения.
2.  Между столбцами: поля объединяются.
3.  При одновременной настройке строк и столбцов: строки и столбцы объединяются по отдельности, а не путем объединения комбинаций строк и столбцов.