用户管理模块功能描述
作者:赵前 创建时间:2016.12.4 最后修改时间:2016.12.4 修订次数:1
任何应用的大多数行为总是伴随着用户管理的功能进行,如:用户执行了某一个操作,后台需要解决的几个问题如下:
- 用户是否可以这么做?
- 哪个用户做了这件事?
抽象为高层概念即:用户身份的区分与用户行为的权限管理。
针对这两个概念,文档将写几个典型的应用场景,成员对可对其进行补充或标记重复需求。
场景1 用户注册
用户信息的产生有两种方式:自主注册与后台添加。前者多为普通用户,后者多为权限需要严格控制的用户。
用户注册功能面向自主注册的用户,用户需要将用户名,密码,安全邮箱,三段信息提交至系统,系统需要保证的事有以下几点:
- 用户名与安全邮箱必须是唯一的
- 用户名不能有非法字符
- 用户名的长度有限制
- 用户密码需要满足规则
- 安全邮箱必须是合法的email地址
- 未满足以上任何一条规则的用户请求都应被拒绝,并且返回相关错误信息
场景2 用户登陆
用户登陆功能允许用户提交用户名,密码,信息给系统,系统需要保证的事有以下几点:
- 用户名与密码必须与注册时的一致,届时系统将标记用户登陆,并返回登陆成功的结果
- 对于已在别处登陆的用户将其登陆状态清除,并返回清除原因
登陆情况的失败可能会有以下几种情况:
* 用户名与用户密码不匹配
* 用户名不存在
* 该用户已被禁止登陆
* 系统暂不开放本用户组的登陆功能
* 系统关闭
场景3 用户退出(注销)
用户注销功能用户处于登陆状态的用户进行退出操作,系统需要保证的事情有以下几点:
- 用户必须是登陆状态
- 用户退出后需要清除登陆状态
场景4 用户密码修改
用户密码修改功能允许登陆状态下的用户进行密码修改,需要提交原始密码、新密码,系统需要保证的事情有一下几点:
- 用户必须是已经登陆的状态
- 提交的原始密码必须与上一次登陆所使用的密码匹配
- 用户密码需要满足规则
- 用户的新密码必须与旧密码不同
场景5 用户密码找回
用户密码找回允许用户在未登陆的情况下找回密码,用户需要输入的信息有:用户名,安全邮箱,系统需要做的事情有以下几件:
- 用户名与安全邮箱必须匹配。
- 在匹配的前提下向用户的安全邮箱发送验证邮件。
- 用户在收到验证邮件后需要将验证邮件中的验证码提交给系统。
- 系统判断验证码正确,则提示用户输入新的密码。
- 在验证邮件发送环节用户可多次要求系统发送验证信息,但系统会控制发送间隔。
场景6 用户安全邮箱修改
用户安全邮箱修改允许用户在安全邮箱验证的情况下修改安全邮箱地址,需要提交的信息有:安全邮箱验证码、新的安全邮箱地址,系统需要做的事情有以下几件:
- 验证安全邮箱验证码的正确性
- 检测邮箱地址的唯一性
以下场景应用与用户高权限的情况下
场景7 查看用户分组
查看用户分组功能允许用户查看指定分组的情况或全部的分组及所拥有的权限。系统需要做的事情有以下几点: