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.
3.9 KiB
3.9 KiB
school_sys_user 表文档
表概述
表名: school_sys_user
功能: 系统用户管理表,用于存储和管理系统后台管理员的基本信息、登录状态、权限配置等核心数据。
字段说明
Field Type Collation Null Key Default Extra Privileges Comment
uid smallint unsigned NULL NO PRI NULL auto_increment select,insert,update,references 系统用户ID
username varchar(255) utf8mb4_general_ci NO select,insert,update,references 用户账号
head_img varchar(255) utf8mb4_general_ci NO select,insert,update,references
password varchar(100) utf8mb4_general_ci NO select,insert,update,references 用户密码
real_name varchar(16) utf8mb4_general_ci NO select,insert,update,references 实际姓名
last_ip varchar(50) utf8mb4_general_ci NO select,insert,update,references 最后一次登录ip
last_time int unsigned NULL NO 0 select,insert,update,references 最后一次登录时间
create_time int unsigned NULL NO 0 select,insert,update,references 添加时间
login_count int unsigned NULL NO 0 select,insert,update,references 登录次数
is_del tinyint unsigned NULL NO 0 select,insert,update,references
login_type varchar(255) utf8mb4_general_ci YES NULL select,insert,update,references 登录类型
delete_time int NULL NO 0 select,insert,update,references 删除时间
update_time int NULL NO 0 select,insert,update,references 更新时间
status tinyint unsigned NULL NO 1 select,insert,update,references 后台管理员状态 1有效0无效
role_ids varchar(255) utf8mb4_general_ci NO select,insert,update,references 权限组
is_admin tinyint NULL NO 0 select,insert,update,references 是否是管理员
功能用途
主要功能
- 用户身份管理: 存储管理员的基本身份信息(用户名、真实姓名、头像等)
- 登录认证: 管理用户密码、登录状态、登录历史
- 权限控制: 通过role_ids字段关联角色权限,支持多角色分配
- 安全审计: 记录登录IP、登录次数、最后登录时间等安全信息
- 状态管理: 支持用户启用/禁用、软删除等状态控制
业务场景
- 系统管理员登录认证
- 后台用户权限管理
- 操作日志审计追踪
- 用户状态监控
- 多角色权限分配
- 安全登录控制
关联关系
直接关联表
- school_sys_user_role: 通过uid字段关联用户角色关系
- school_sys_role: 通过role_ids字段关联角色信息
- school_sys_user_log: 通过uid字段关联用户操作日志
间接关联表
- school_sys_menu: 通过角色权限间接关联菜单权限
- school_campus: 可能通过业务逻辑关联校区管理权限
- 各业务表: 通过创建人、更新人字段关联
关联说明
uid字段作为主键,在多个表中作为外键引用role_ids字段存储角色ID列表,与school_sys_role表形成多对多关系username字段作为登录凭证,需要保证唯一性- 通过is_admin字段区分超级管理员和普通管理员
索引建议
- 主键索引:uid(自动创建)
- 唯一索引:username(登录账号唯一性)
- 普通索引:status(按状态查询活跃用户)
- 普通索引:is_del(软删除查询)
- 复合索引:status + is_del(查询有效用户)
- 普通索引:last_time(按最后登录时间排序)
注意事项
- 密码安全: password字段应使用强加密算法存储,不可明文保存
- 软删除: 使用is_del字段实现软删除,避免直接删除用户数据
- 角色权限: role_ids字段存储格式需要统一,建议使用JSON或逗号分隔
- 登录安全: 需要配合登录失败次数限制、IP白名单等安全机制
- 时间字段: 所有时间字段使用时间戳格式,注意时区处理
- 状态一致性: status和is_del字段需要保持逻辑一致性
- 超级管理员: is_admin=1的用户具有最高权限,需要严格控制