Skip to main content

Permission model and system management

The platform uses the common "user - role - menu" permission model, with data permissions and project isolation layered on top.

Permission hierarchy​

LevelDetermines
Menu permissionsWhich navigation items, pages and buttons are visible, and which backend APIs can be accessed
Data permissionsWhich APIs, data sources, groups and logs are visible
Project isolationAfter entering a project, only data of the current project can be operated on
Super administratorhas all menus by default and is not limited by role menus

Data permission scope​

  • APIs, data sources and groups created by the user.
  • Groups authorized for collaboration, and all APIs under those groups.
  • Authorized data sources (usable only; connection information is not visible).
  • API logs: APIs created by the user, APIs accessed with the user's own credentials, APIs under authorized groups, and call logs of APIs without authentication.

User management​

Entry: System management → User list.

User list

OperationDescription
AddFill in account, nickname, department, position, role, remarks, etc.; position and remarks can be empty
EditModify basic information and roles
DeleteDelete the user; first confirm there are no pending approvals or subscriptions
Reset passwordThe password is reset to the username by default; this sensitive operation can only be performed by the super administrator

Rules:

  • A user must be assigned a role to log in, otherwise 41003 is returned.
  • The initial password of a new user defaults to the username; it should be changed after the first login.
  • A user may come from local, WeCom, DingTalk and other sources; SSO users are linked to local accounts through bindings.

Department management​

Entry: System management → Department list.

Departments, also called organizations, are used to divide users by business:

  • Displayed as a tree structure, with one root node by default.
  • The root node can be set to any department or organization.
  • Adding, editing and deleting sub-departments is supported.

Role management​

Entry: System management → Role list.

Field/operationDescription
Role nameDisplay name
TypeUsed to distinguish roles for business purposes and easier classification
Associated menusSelect the menus and buttons the role can access
Add/edit/deleteMaintain role information and the authorization scope

When a role is not associated with any menu, users under that role cannot log in (41004). After changing a role's menus, affected users must log in again or refresh the page to see the new menus.

Entry: System management → Menu list.

Menus are displayed as a tree; top-level menus or submenus can be added.

FieldDescription
Menu pathThe route address the frontend page navigates to
Menu codeUnique identifier of the menu
HiddenControls whether the frontend shows the menu entry
Menu typeDirectory (navigation) or button (page action)
Permission identifierAPI path rules accessible under the menu, using /** to match a common prefix; separate multiple entries with semicolons ;
SortControls the display order of menus
IconMenu icon

The mapping between menus and backend APIs is maintained through "permission identifiers". For example, /api/box/sys/api/info/** allows access to admin APIs under that prefix. When adding pages or buttons, configure the permission identifiers as well; otherwise, even if users can see the menu, requests may fail because the APIs are not permitted.

System logs​

Entry: System management → Operation logs.

Records key operations such as add, edit, delete, authorization and publishing, including:

  • Operator
  • Operator IP
  • Operation module
  • Operation content
  • Operation time

Supports filtering by operator and time range, for auditing and troubleshooting. System logs and API call logs are two separate datasets: the former records admin operations, while the latter records open API calls.

System parameters​

Entry: System management → System parameters.

System parameters maintain platform-level configuration as key-value pairs; fields include parameter name, parameter key, parameter value, parameter type and remarks.

Parameter keyPurpose
api_prefixThe common prefix for platform APIs; the prefix of API addresses and request addresses in the documentation comes from this parameter
subscription.remind.daysNumber of days before subscription expiration to send reminders, comma-separated; defaults to the deployment configuration crabc.subscription.remind-days when absent
  • Parameter values take effect immediately after modification and override similar defaults in deployment files.
  • Adding custom parameters does not affect existing functionality.
  • Modifying api_prefix affects API address construction; before changing it, confirm the existing callers and gateway routes.

Common error codes​

codeMeaningHandling
41003User has no roleAssign a role in user management
41004Role has no menu permissionsAssociate menus in role management
41014User does not existCheck whether the account has been created or deleted
41005Invalid tokenLog in again
43003No operation permissionCheck data ownership, project role and menu permissions

Best practices​

  1. Split roles by position; avoid granting the administrator role to all users.
  2. Configure both menu permissions and API permission identifiers; do not configure only page entries.
  3. Regularly review operation logs and accounts that have not logged in for a long time.
  4. Verify system parameter changes in a test environment before applying them in production.
  5. For external collaborators, prefer project membership + group authorization rather than promoting them directly to super administrator.

Related reading: Project space, Personal center, Alerts and logs.