电商项目—用户模块开发

功能介绍:

登录、用户名验证、注册、忘记密码、提交问题答案、重置密码、获取用户信息、更新用户信息、退出登录 


学习目标:

横向越权、纵向越权安全漏洞

MD5明文加密及增加salt值

Guava缓存的使用

高复用服务响应对象的设计思想及抽象封装

Mybatis-plugin使用技巧

session的使用

方法局部演进

接口设计:

1.登录

request:username。password

response:fail—status:1,msg:密码错误

2.注册

request:username,password,email,phone,question,answer

response:success—status:0,msg:校验成功;fail—tatus:1,msg:用户已存在;

3.检查用户名是否有效

request:str,type

str可以是用户名也可以是email,对应的type是username和email

response:success—status:0,msg:校验成功;fail—status:1,msg:用户已存在;

4.获取登录用户信息

request:无参数(从session中拿取用户的登录信息)

response:success—status:0,data;fail—status:1.msg:用户未登录,无法获取当前用户信息

5.忘记密码

request:username

response:success—status:0,data;fail—status:1.msg:该用户未设置找回密码问题

6.提交问题答案

request:username,question,answer

response:success—status:0,data;fail—status:1.msg:问题答案错误

正确返回值里面有一个token,修改密码的时候需要用这个,传递给下一个接口

7.忘记密码的重设密码

request:username,passwordNew,forgetToken

response:success—status:0,mag:修改密码成功;fail—status:1.msg:修改密码操作失败

8.登录中状态重置密码

request:passwordOld,passwordNew

用户名从session中获取

response:success—status:0,mag:修改密码成功;fail—status:1.msg:修改密码操作失败

9.登录状态更新个人信息

request:email,phone,question,answer

response:success—status:0,mag:更新个人信息成功;fail—status:1.msg:用户未登录

10.获取当前登录用户的详细信息,并强制登录

request:无参数

response:success—status:0,data;fail—status:10,msg:用户未登录,无法获取当前用户信息,status=10,强制登录

11.退出登录

request:无参数

response:success—status:0,msg:退出成功;fail—status:10,msg:服务器异常

12.后台管理员登录

request:username,password

response:success—status:0,data;fail—status:10,msg:密码错误

 

你可能感兴趣的:(java)