You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.6 KiB
4.6 KiB
school_sys_user_role 表文档
表概述
表名: school_sys_user_role
功能: 系统用户角色关联表,用于建立用户与角色的多对多关联关系,实现基于角色的权限管理和访问控制,支持超级管理员标识和角色组合权限
字段说明
Field Type Collation Null Key Default Extra Privileges Comment
id int NULL NO PRI NULL auto_increment select,insert,update,references
uid int NULL NO 0 select,insert,update,references 用户id
role_ids varchar(255) utf8mb4_general_ci NO select,insert,update,references 角色id
create_time int NULL NO 0 select,insert,update,references 添加时间
is_admin int NULL NO 0 select,insert,update,references 是否是超级管理员
status int NULL NO 1 select,insert,update,references 状态
功能用途
主要功能
- 用户角色绑定: 建立用户与角色的多对多关联关系
- 权限管理: 通过角色分配实现用户权限的统一管理
- 超级管理员标识: 通过is_admin字段标识超级管理员用户
- 角色组合管理: 支持一个用户拥有多个角色的组合权限
- 用户状态控制: 管理用户角色分配的启用/禁用状态
- 权限继承: 用户通过角色继承相应的菜单和功能权限
- 角色变更记录: 记录用户角色分配的时间信息
- 权限隔离: 确保不同角色用户的数据和功能访问隔离
- 批量权限管理: 支持批量分配和调整用户角色
业务场景
- 系统用户管理: 为系统管理员、教务人员等分配相应角色
- 权限分级管理: 校长、主管、教师等不同级别的权限管理
- 功能模块访问: 控制用户对不同功能模块的访问权限
- 数据权限控制: 基于角色控制用户可访问的数据范围
- 临时权限分配: 为特定用户临时分配额外的角色权限
- 角色权限审计: 审计和检查用户的角色权限分配情况
- 权限回收: 用户离职或调岗时回收相应的角色权限
- 多校区权限: 为跨校区用户分配不同校区的角色权限
- 季节性权限: 根据业务需要临时调整用户的角色权限
- 权限继承: 新用户根据岗位自动继承标准的角色配置
关联关系
主要关联表
- school_sys_user: 系统用户表,通过uid字段关联
- school_sys_role: 系统角色表,通过role_ids字段关联
- school_sys_menu: 系统菜单表,通过角色获取菜单权限
- school_personnel: 人员表,可能与系统用户存在关联
- school_campus: 校区表,角色可能与特定校区相关
- school_sys_user_log: 用户日志表,记录角色变更操作
关联说明
- 用户关联: 通过uid字段与school_sys_user表建立一对一关系
- 角色关联: role_ids字段存储多个角色ID,以逗号分隔
- 权限继承: 用户通过角色获得对应的菜单和功能权限
- 日志关联: 角色变更操作会记录到用户操作日志中
- 校区关联: 角色权限可能与特定校区的数据访问相关
索引建议
-- 主键索引(自动创建)
PRIMARY KEY (id)
-- 用户ID索引(用于查询用户角色)
UNIQUE INDEX idx_uid (uid)
-- 状态索引(用于查询有效的用户角色)
INDEX idx_status (status)
-- 超级管理员索引(用于查询管理员)
INDEX idx_is_admin (is_admin)
-- 创建时间索引(用于按时间查询)
INDEX idx_create_time (create_time)
-- 复合索引(用于权限验证)
INDEX idx_uid_status (uid, status)
注意事项
- 角色ID格式: role_ids字段存储格式应统一,建议使用逗号分隔的数字串
- 超级管理员: is_admin=1的用户拥有所有权限,需要严格控制
- 角色验证: 用户登录时需要验证角色的有效性和状态
- 权限缓存: 用户权限信息应合理缓存,提高系统性能
- 角色变更: 角色变更后需要清除相关缓存,确保权限及时生效
- 数据一致性: 角色删除时需要检查是否有用户仍在使用该角色
- 权限最小化: 遵循权限最小化原则,避免过度授权
- 审计日志: 重要的角色变更操作应记录详细的审计日志
- 并发控制: 角色分配操作需要考虑并发安全问题
- 角色继承: 角色权限变更时需要考虑对已分配用户的影响
- 状态同步: 用户状态变更时需要同步更新角色分配状态
- 备份恢复: 重要的权限配置数据应定期备份
- 安全检查: 定期检查和审计用户的角色权限分配
- 角色清理: 定期清理无效或过期的角色分配记录