feat: 角色等级体系与权限管控实施
- 数据库:auth_roles 表新增 level 字段(1=超管, 10=管理员, 100=普通用户) - 后端:新增 GetAllRoles/GetUserMaxLevel/SetUserRoles/FindByCodeList DAO 方法 - 后端:SetRolesRequest 替换 AssignRoleRequest,AdminUserInfo.Roles 改为 []RoleInfo - 后端:所有管理操作(禁用/启用/角色分配/创建用户)强制层级权限校验 - 后端:PUT /users/:id/roles(批量设置角色)+ GET /roles(角色列表) - 前端:角色管理改为 Checkbox Group 多选,高等级角色禁用 - 前端:禁用/启用按钮受角色层级约束,列表页操作按钮权限管控 - 前端:创建用户对话框角色选项根据操作者等级动态过滤 - 文档:API 文档、设计方案、集成规范、进度文档同步更新 Made-with: Cursor
This commit is contained in:
@@ -46,6 +46,7 @@ CREATE TABLE auth_roles (
|
||||
id SERIAL PRIMARY KEY,
|
||||
code VARCHAR(50) UNIQUE NOT NULL,
|
||||
name VARCHAR(50) NOT NULL,
|
||||
level INT NOT NULL DEFAULT 100,
|
||||
description VARCHAR(200) DEFAULT '',
|
||||
created_at TIMESTAMP(0) NOT NULL DEFAULT NOW()
|
||||
);
|
||||
@@ -54,14 +55,15 @@ COMMENT ON TABLE auth_roles IS '角色表,定义系统中所有
|
||||
COMMENT ON COLUMN auth_roles.id IS '角色唯一标识,自增主键';
|
||||
COMMENT ON COLUMN auth_roles.code IS '角色代码,唯一标识:user=普通用户,admin=管理员,super_admin=超级管理员';
|
||||
COMMENT ON COLUMN auth_roles.name IS '角色显示名称,如"普通用户""管理员""超级管理员"';
|
||||
COMMENT ON COLUMN auth_roles.level IS '角色等级,值越小权限越高:1=超管, 10=管理员, 100=普通用户,预留间隔便于扩展';
|
||||
COMMENT ON COLUMN auth_roles.description IS '角色描述说明';
|
||||
COMMENT ON COLUMN auth_roles.created_at IS '创建时间';
|
||||
|
||||
-- 预置角色数据
|
||||
INSERT INTO auth_roles (code, name, description) VALUES
|
||||
('user', '普通用户', '系统普通用户,可以使用聊天、会议等功能'),
|
||||
('admin', '管理员', '后台管理员,可以管理用户、监控会议等'),
|
||||
('super_admin', '超级管理员', '最高权限管理员,可以管理角色和系统配置');
|
||||
-- 预置角色数据(level 值越小权限越高)
|
||||
INSERT INTO auth_roles (code, name, level, description) VALUES
|
||||
('user', '普通用户', 100, '系统普通用户,可以使用聊天、会议等功能'),
|
||||
('admin', '管理员', 10, '后台管理员,可以管理用户、监控会议等'),
|
||||
('super_admin', '超级管理员', 1, '最高权限管理员,可以管理角色和系统配置');
|
||||
|
||||
-- ============================================================
|
||||
-- auth_user_roles: 用户角色关联表
|
||||
|
||||
Reference in New Issue
Block a user