# 用户认证模块 ## 用户体系 ### 项目初始化数据 1. [公司通信录](0-设计方案\9-rmdc-user-auth\9-user-contact-list.md)应该作为项目数据库初始化的数据导入到数据库中 ### 用户结构体 1. 用户ID 2. 用户中文名 必须要真实姓名 1. 默认为[公司通信录]中的姓名 3. 用户英文名 也是昵称 可以为任意 1. 默认为[公司通信录]中邮箱去除掉@之后的部分 4. 用户头像ID avatar_id 5. 用户头像框ID avatar_frame_id 6. 性别 gender 7. 电子邮箱 8. 手机号 9. 短号 10. 工号 work_id 11. 所属小组 group_name 产品与解决方案组 12. 状态 user_status active, locked, disabled 默认为 locked 删除为 disabled 13. 注册人ID registered_by_id 被谁注册的 14. 密码 需要保存的是加密后的密码 默认值是 supercyy.1加密后的hash值 15. 密码过期时间 password_expires_at 16. 开发角色 dev_role 后端开发 backend, 前端开发 frontend, 测试工程师 test, 全干工程师 ops, 行业解决方案专家 seller, 未知 unknown 默认为 unknown 17. RMDC系统角色 rmdc_role 超级管理员,管理员,普通用户,三方用户 superadmin, admin, normal, third 默认为normal 18. 注册时间 19. 更新时间 20. 删除时间(设置为disabled的时间) ## 页面功能 ### 用户管理 1. 只有超级管理员具有此页面的权限 1. 管理用户的信息 1. 新增用户 2. 修改用户信息 3. 删除用户 4. 启用注册用户 2. 开启注册权限 1. 开放自己注册的功能 2. 用户自行注册之后的状态默认是 locked ### 通信录页面 1. normal用户及以上具有通信录页面的权限 2. 展示部分用户的信息,方便联系其他的用户 3. 默认使用列表的形式展示,点击用户之后可以查看用户详细信息 4. 前端支持搜索,支持通过用户中文名,英文名 手机号 短号 快速搜索到用户 ## 认证体系 1. 用户使用默认密码登录之后, 强制要求修改密码 2. 用户的密码有效期为3个月,过期需要强制修改密码 3. 前端和后端之间密码的传输不能是明文的,需要进行RSA加密传输 4. RMDC后端项目启动之后,需要创建一个RSA密钥对,并保存到数据库中 1. RSA密钥对的有效期应该设置为30天,启动之后应该解析密钥对,并保存到内存中 2. 如果密钥对过期,需要重新创建密钥对,并保存到数据库中 5. 前端登录需要调用后端获取RSA公钥,然后使用公钥加密密码,再将加密后的密码发送给后端 6. 后端接收到加密后的密码之后,使用自己的私钥解密密码,然后进行密码验证 ## 授权体系 1. 各个模块的授权均应该放置在此模块中进行 ## 用户注册、管理功能 2026年1月8日 结合工单系统,开发非超级管理员账号的注册功能 ### 用户注册、管理权限 1. RMDC角色为管理员的用户 1. 可以注册、管理(修改信息、启用、禁用、删除)普通用户权限的账户 2. 可以注册、管理(修改信息、启用、禁用、删除)三方用户权限的账户 2. RMDC角色为普通用户的用户 1. 只能注册三方用户权限的账户 2. 不能注册普通用户权限的账户 3. 只能管理(修改信息、启用、禁用、删除)自己注册的三方用户权限的账户 3. RMDC角色为三方用户的用户 1. 不能注册任何权限的账户 2. 不能管理(修改信息、启用、禁用、删除)任何用户权限的账户 4. RMDC角色为超级管理员的用户 1. 可以注册任何权限的账户 2. 可以管理(修改信息、启用、禁用、删除)任何用户权限的账户 5. 用户管理的原则为:谁注册谁管理 1. 用户管理页面的功能 2. 注册用户的注册人负责管理被注册用户的生命周期 3. 超级管理员负责审核所有用户注册的工单 ### 用户注册工单流程 1. 非超级管理员用户的在用户注册之后 1. 用户状态默认为disabled 2. 启动用户注册工单流程 1. 自动创建用户注册工单 2. 自动提交给超级管理员 3. 超级管理员审核 1. 审核通过 1. 自动修改用户状态为 active, 用户启用 2. 审核不通过 1. 回退到用户注册阶段 ### 用户管理工单流程 1. 非超级管理员用户的在用户管理之后 2. 启动用户管理工单流程 1. 自动创建用户管理工单 2. 自动提交给超级管理员 3. 超级管理员审核 1. 审核通过 1. 根据管理的内容,修改用户相应的信息 2. 审核不通过 1. 回退到用户管理阶段 ### 用户注册页面 1. 请基于管理用户注册页面进行开发 2. 设计的更加好看