Skip to content

角色管理

角色管理提供系统角色的完整 CRUD 操作,以及角色-权限、角色-资源的分配管理。

功能说明

  • 角色分页查询
  • 角色新增 / 修改 / 删除(支持批量)
  • 角色详情查看
  • 角色权限分配
  • 角色资源分配
  • 数据导出(Excel)
  • 导入模板下载
  • 数据导入(Excel)

API 接口

所有接口均需要 sys:role:* 权限。

方法路径权限标识说明
GET/api/v1/sys/role/pagesys:role:page获取角色分页
POST/api/v1/sys/role/createsys:role:create添加角色
POST/api/v1/sys/role/modifysys:role:modify编辑角色
POST/api/v1/sys/role/removesys:role:remove删除角色
GET/api/v1/sys/role/detailsys:role:detail获取角色详情
GET/api/v1/sys/role/exportsys:role:export导出角色数据
GET/api/v1/sys/role/templatesys:role:template下载导入模板
POST/api/v1/sys/role/importsys:role:import导入角色数据
POST/api/v1/sys/role/grant-permissionsys:role:grantPermission分配角色权限
POST/api/v1/sys/role/grant-resourcesys:role:grantResource分配角色资源
GET/api/v1/sys/role/own-permissionsys:role:ownPermission获取角色已分配的权限 ID 列表
GET/api/v1/sys/role/own-resourcesys:role:ownResource获取角色已分配的资源 ID 列表

数据模型

sys_role 表主要字段:

字段类型说明
idVARCHAR(32)主键(雪花ID)
nameVARCHAR(64)角色名称
codeVARCHAR(64)角色编码(唯一)
statusVARCHAR(16)状态(ACTIVE / DISABLED)
sort_codeINT排序

分配权限

将一组权限分配给角色,同时可设置数据范围:

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角色-资源关联

Released under the MIT License.