logologo
Get Started
Guide
Development
Plugins
API
English
简体中文
Get Started
Guide
Development
Plugins
API
English
简体中文
logologo
Users

Roles and permissions

Roles
Permissions
Application in UI
Role union

Development

Extend permission tabs

Department

Departments
Department roles

User data synchronization

Synchronization management

Data source

HTTP API

Development

Extending synchronized data sources
Extending sync target resources
Previous PageApplication in UI
Next PageExtend permission tabs

#Role Union

Role Union is a permission management mode. According to system settings, system developers can choose to use Independent roles, Allow roles union, or Roles union only, to meet different permission requirements.

20250312184651

#Independent roles

By default, the system uses independent roles. Users must switch between the roles they possess individually.

20250312184729

20250312184826

#Allow roles union

System developers can enable Allow roles union, allowing users to simultaneously have permissions of all assigned roles while still permitting users to switch roles individually.

20250312185006

#Roles union only

Users are enforced to only use Role Union and cannot switch roles individually.

20250312185105

#Rules for Role Union

Role union grants the maximum permissions across all roles. Below are the explanations for resolving permission conflicts when roles have different settings on the same permission.

#Operation Permission Merge

Example:
Role1 is configured to Allows to configure interface and Role2 is configured to Allows to install, activate, disable plugins

20250312190133

20250312190352

When logging in with the Full Permissions role, the user will have both permissions simultaneously.

20250312190621

#Data Scope Merge

#Data Rows

Scenario 1: Multiple roles setting conditions on the same field

Role A filter: Age < 30

UserIDNameAge
1Jack23
2Lily29

Role B filter: Age > 25

UserIDNameAge
2Lily29
3Sam32

After merging:

UserIDNameAge
1Jack23
2Lily29
3Sam32

Scenario 2: Different roles setting conditions on different fields

Role A filter: Age < 30

UserIDNameAge
1Jack23
2Lily29

Role B filter: Name contains "Ja"

UserIDNameAge
1Jack23
3Jasmin27

After merging:

UserIDNameAge
1Jack23
2Lily29
3Jasmin27

#Data Columns

Role A visible columns: Name, Age

UserIDNameAge
1Jack23
2Lily29

Role B visible columns: Name, Sex

UserIDNameSex
1JackMan
2LilyWoman

After merging:

UserIDNameAgeSex
1Jack23Man
2Lily29Woman

#Mixed Rows and Columns

Role A filter: Age < 30, columns Name, Age

UserIDNameAge
1Jack23
2Lily29

Role B filter: Name contains "Ja", columns Name, Sex

UserIDNameSex
3JadeWoman
4JamesMan

After merging:

UserIDNameAgeSex
1Jack23Man
2Lily29Woman
3Jade27Woman
4James31Man

Note: Cells with red background indicate data invisible in individual roles but visible in the merged role.

#Summary

Role merging data-scope rules:

  1. Between rows, if any condition is satisfied, the row has permissions.
  2. Between columns, fields are combined.
  3. When rows and columns are both configured, rows and columns are merged separately, not by row-column combinations.