mengstack-website/api/rbac.md
MengStack Dev fca3326e34 docs: 官网文档全面更新 — M2-M8 指南 + API 参考 + v0.2.0 更新日志
- 更新 changelog.md: v0.2.0 记录 M2-M8 全部完成,路线图更新
- 新增 5 篇指南: RBAC、组织管理、审计日志、通知模块、质量横切
- 新增 5 篇 API 文档: RBAC(11)、Org(5)、Audit(1)、Settings(7)、Notification(7)
- 更新 api/overview.md: 完整 37 端点列表
- 更新 config.ts: 侧边栏分组 + 11 页 SEO 元数据
2026-10-03 01:55:55 +08:00

2.8 KiB

title
RBAC API | 角色权限管理接口 - MengStack官方文档

RBAC 接口

所有接口需要认证,并携带 X-Tenant-ID 头。

列出权限

GET /api/v1/rbac/permissions

查询参数

参数 类型 必填 说明
module string 否 按模块筛选

响应

{
  "code": 0,
  "data": [
    {
      "id": 1,
      "code": "auth:user:read",
      "name": "查看用户",
      "module": "auth",
      "description": "查看用户列表和详情"
    }
  ]
}

创建角色

POST /api/v1/rbac/roles

请求体

{
  "name": "editor",
  "description": "内容编辑者"
}
字段 类型 必填
name string 是
description string 否

响应

返回 RoleDTO(含 permissions 数组)。

错误

状态码 说明
400 参数校验失败
409 角色名已存在

列出角色

GET /api/v1/rbac/roles

响应

{
  "code": 0,
  "data": [
    {
      "id": 1,
      "tenant_id": "550e8400-...",
      "name": "admin",
      "description": "系统管理员",
      "is_system": true,
      "permissions": [...]
    }
  ]
}

获取角色详情

GET /api/v1/rbac/roles/:id

路径参数

参数 类型 说明
id int 角色 ID

响应

返回 RoleDTO。


更新角色

PUT /api/v1/rbac/roles/:id

请求体

{
  "name": "senior-editoror",
  "description": "高级编辑"
}
字段 类型 必填
name string 否
description string 否

删除角色

DELETE /api/v1/rbac/roles/:id

错误

状态码 说明
403 系统角色不可删除

设置角色权限

PUT /api/v1/rbac/roles/:id/permissions

请求体

{
  "permission_ids": [1, 2, 3, 5]
}

覆盖该角色的全部权限。


获取角色权限

GET /api/v1/rbac/roles/:id/permissions

响应

返回 PermissionDTO 数组。


分配角色给用户

POST /api/v1/rbac/users/:userId/roles

路径参数

参数 类型 说明
userId int 用户 ID

请求体

{
  "role_id": 2
}

错误

状态码 说明
409 用户已拥有该角色

移除用户角色

DELETE /api/v1/rbac/users/:userId/roles/:roleId

路径参数

参数 类型 说明
userId int 用户 ID
roleId int 角色 ID

获取用户角色

GET /api/v1/rbac/users/:userId/roles

响应

返回 RoleDTO 数组,包含该用户在此租户下的所有角色及权限。