- 更新 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 元数据
2.8 KiB
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 数组,包含该用户在此租户下的所有角色及权限。