用户信息维护模块

192 阅读3分钟

用户信息维护模块

使用token进行单客户端登录检测,前端所有请求都会携带token,所有操作前检查token是否失效(即有没有这个token)(即是否多端登录)(失效即报错,前端提示token已失效,清除储存的token,刷新页面)

用户表:

  • 用户名
  • 昵称
  • 手机号
  • 登录状态
  • 头像地址
  • 信誉分数
  • 角色(用来鉴权)
  • 创建时间

未命名文件 (3).png

场景1 用户注册

用户信息的产生有两种方式:自主注册与后台添加。前者多为普通用户,后者多为权限需要严格控制的用户。

注册时使用的手机验证码前端发送并验证

用户注册功能面向自主注册的用户,用户需要将用户名,密码,手机号,三段信息提交至系统,系统需要保证的事有以下几点:

  • 用户名与手机号必须是唯一的
  • 用户名不能有非法字符
  • 用户名的长度有限制(1-10)
  • 用户密码需要满足规则(6-20,包含字母和数字)
  • 手机号必须是合法的手机号(中国)
  • 未满足以上任何一条规则的用户请求都应被拒绝,并且返回相关错误信息(发送前前端验证)

场景2 用户登录

用户登陆功能允许用户提交用户名或手机号密码,信息给系统,系统需要保证的事有以下几点:

  • 用户名与密码必须与注册时的一致,届时系统将标记用户登陆,并返回登陆成功的token
  • 对于已在别处登陆的用户将其登陆状态清除(token被删除)(登录成功,别处token验证失败,返回错误,退出登录)

登陆情况的失败可能会有以下几种情况:

  • 用户名与用户密码不匹配
  • 用户名不存在
  • 该用户已被禁止登陆(role权限变为forbidden)
  • 系统暂不开放登陆功能(系统不开放)
  • 系统关闭(请求超时,服务器关闭)

场景3 用户退出

用户注销功能用户处于登陆状态的用户进行退出操作,系统需要保证的事情有以下几点:

  • 用户必须是登陆状态
  • 用户退出后需要清除token
  • 用户退出关闭websocket连接

场景4 用户密码修改

用户密码修改功能允许登陆状态下的用户进行密码修改,需要提交原始密码新密码,系统需要保证的事情有一下几点:

  • 用户必须是已经登陆的状态
  • 提交的原始密码必须与上一次登陆所使用的密码匹配
  • 用户密码需要满足规则
  • 用户的新密码必须与旧密码不同

场景5 用户密码找回

找回时使用的手机验证码前端发送并验证

用户密码找回允许用户在未登陆的情况下找回密码,用户需要输入的信息有:用户名手机号新密码,系统需要做的事情有以下几件:

  • 用户名与手机号必须匹配。。
  • 在验证手机号发送环节用户可多次要求系统发送验证信息,但系统会控制发送间隔。

场景6 用户头像修改

用户安全邮箱修改允许用户修改头像,需要提交的信息有:头像图片token(在header里),系统需要做的事情有以下几件:

  • 验证token
  • 删除上次图片
  • 上传图片至oss
  • 修改表
  • ...

场景7 用户昵称修改

同上,头像图片换成昵称名

场景8 查询用户信息

查询用户信息允许用户根据token获得用户所有信息,需要提交的信息有:token(在header里),返回用户信息