角色管理
角色管理提供系统角色的完整 CRUD 操作,以及角色-权限、角色-资源的分配管理。
功能说明
- 角色分页查询
- 角色新增 / 修改 / 删除(支持批量)
- 角色详情查看
- 角色权限分配
- 角色资源分配
- 数据导出(Excel)
- 导入模板下载
- 数据导入(Excel)
API 接口
所有接口均需要 sys:role:* 权限。
| 方法 | 路径 | 权限标识 | 说明 |
|---|---|---|---|
| GET | /api/v1/sys/role/page | sys:role:page | 获取角色分页 |
| POST | /api/v1/sys/role/create | sys:role:create | 添加角色 |
| POST | /api/v1/sys/role/modify | sys:role:modify | 编辑角色 |
| POST | /api/v1/sys/role/remove | sys:role:remove | 删除角色 |
| GET | /api/v1/sys/role/detail | sys:role:detail | 获取角色详情 |
| GET | /api/v1/sys/role/export | sys:role:export | 导出角色数据 |
| GET | /api/v1/sys/role/template | sys:role:template | 下载导入模板 |
| POST | /api/v1/sys/role/import | sys:role:import | 导入角色数据 |
| POST | /api/v1/sys/role/grant-permission | sys:role:grantPermission | 分配角色权限 |
| POST | /api/v1/sys/role/grant-resource | sys:role:grantResource | 分配角色资源 |
| GET | /api/v1/sys/role/own-permission | sys:role:ownPermission | 获取角色已分配的权限 ID 列表 |
| GET | /api/v1/sys/role/own-resource | sys:role:ownResource | 获取角色已分配的资源 ID 列表 |
数据模型
sys_role 表主要字段:
| 字段 | 类型 | 说明 |
|---|---|---|
| id | VARCHAR(32) | 主键(雪花ID) |
| name | VARCHAR(64) | 角色名称 |
| code | VARCHAR(64) | 角色编码(唯一) |
| status | VARCHAR(16) | 状态(ACTIVE / DISABLED) |
| sort_code | INT | 排序 |
分配权限
将一组权限分配给角色,同时可设置数据范围:
json
POST /api/v1/sys/role/grant-permission
{
"roleId": "角色ID",
"permissionIds": ["权限ID1", "权限ID2"],
"scope": "ALL",
"customScopeGroupIds": null
}数据范围参数(scope):
| 值 | 说明 |
|---|---|
ALL | 全部数据 |
CUSTOM | 自定义数据范围(指定组织) |
ORG | 本组织数据 |
ORG_AND_BELOW | 本组织及以下数据 |
SELF | 仅本人数据 |
分配资源
将菜单资源分配给角色:
json
POST /api/v1/sys/role/grant-resource
{
"roleId": "角色ID",
"resourceIds": ["资源ID1", "资源ID2"]
}RBAC 关系表
角色参与的关联表:
| 表 | 说明 |
|---|---|
ral_role_permission | 角色-权限关联(含数据范围) |
ral_role_resource | 角色-资源关联 |