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