# 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 是否是管理员 ``` ## 功能用途 ### 主要功能 1. **用户身份管理**: 存储管理员的基本身份信息(用户名、真实姓名、头像等) 2. **登录认证**: 管理用户密码、登录状态、登录历史 3. **权限控制**: 通过role_ids字段关联角色权限,支持多角色分配 4. **安全审计**: 记录登录IP、登录次数、最后登录时间等安全信息 5. **状态管理**: 支持用户启用/禁用、软删除等状态控制 ### 业务场景 - 系统管理员登录认证 - 后台用户权限管理 - 操作日志审计追踪 - 用户状态监控 - 多角色权限分配 - 安全登录控制 ## 关联关系 ### 直接关联表 1. **school_sys_user_role**: 通过uid字段关联用户角色关系 2. **school_sys_role**: 通过role_ids字段关联角色信息 3. **school_sys_user_log**: 通过uid字段关联用户操作日志 ### 间接关联表 1. **school_sys_menu**: 通过角色权限间接关联菜单权限 2. **school_campus**: 可能通过业务逻辑关联校区管理权限 3. **各业务表**: 通过创建人、更新人字段关联 ### 关联说明 - `uid`字段作为主键,在多个表中作为外键引用 - `role_ids`字段存储角色ID列表,与school_sys_role表形成多对多关系 - `username`字段作为登录凭证,需要保证唯一性 - 通过is_admin字段区分超级管理员和普通管理员 ## 索引建议 - 主键索引:uid(自动创建) - 唯一索引:username(登录账号唯一性) - 普通索引:status(按状态查询活跃用户) - 普通索引:is_del(软删除查询) - 复合索引:status + is_del(查询有效用户) - 普通索引:last_time(按最后登录时间排序) ## 注意事项 1. **密码安全**: password字段应使用强加密算法存储,不可明文保存 2. **软删除**: 使用is_del字段实现软删除,避免直接删除用户数据 3. **角色权限**: role_ids字段存储格式需要统一,建议使用JSON或逗号分隔 4. **登录安全**: 需要配合登录失败次数限制、IP白名单等安全机制 5. **时间字段**: 所有时间字段使用时间戳格式,注意时区处理 6. **状态一致性**: status和is_del字段需要保持逻辑一致性 7. **超级管理员**: is_admin=1的用户具有最高权限,需要严格控制