注册互联网账户是日常生活中再熟悉不过的一件事情,作为一个用户,注册账户的时候往往需要做以下事情:
·提供一个未被使用的账号ID
·提供一个未被使用的email地址
·提供一个任意的显示名称
·设置安全密码,并重复输入以确认
·输入验证码
·前往邮箱查收激活链接并单击激活账号
·登录
账号的ID和email地址都可以用来唯一地标识某个账户,而显示名称则用来显示在页面上,方便浏览。注册的时候用户还需要输入两次密码,以确保没有输错。系统则需要负责检查ID和email的唯一性,验证两次输入的密码是否一致。验证码是由系统随机生成的只能由肉眼识别其内容的图片,可以有效防止机器恶意批量注册,若输入正确的验证码信息,系统则会进行检查,如果验证码错误,系统会生成并返回新的验证码。一旦所有检查都没问题了,系统就会生成一个激活链接,并发送到用户的邮箱中。单击激活链接后,账户就被激活了,这时账户注册完成,用户可以进行登录。
对于一个账户注册服务,还需要考虑一些安全因素。例如,需要在服务器端密文地保存密码,检查密码的强弱程度,更进一步则需要考虑验证码的失效时间,激活链接的失效时间,等等。
本章的主要目的是让读者清楚地了解这个背景案例,即账户注册服务,它的需求是什么,基于这样的一个需求,我们会怎样设计这个小型的系统。本章的描述几乎不会涉及Maven,但后面的章节在讲述各种Maven概念和实践的时候,都会基于这一实际的背景案例。