【技术篇】日常网站App的用户登录,你懂了吗

今日秋高气爽,闲来无事,特此总结了一下以前做的userLogin功能,希望能给大家带来分享,如有不同的idea,欢迎下方留盐~~~

接下来以163邮箱为例,对各位用户大大的Login做一个简单的思路介绍:
【技术篇】日常网站App的用户登录,你懂了吗_第1张图片
一.在用户输入userName和passWord之后,首先我们拿到用户的passWord(密码)加 KEY(加密方法的密钥)得到加密后的用户passWord。在这里,我们可以根据自己的需要选择不同的加密方式(DES/MD5皆可)

二.使用userName去user_info表查询该userInfo是否存在,若查询对象为空,则返给前端状态码“用户名或者密码出错”

三.若查询不为空,证明该用户是真实存在的,接下来进行一系列的校验判断

1.用之前加密过的密码和查询出来userInfo的密码进行比对,若比对不成功,yi.此处直接插入一张DB记录表user_login_log,用来记录用户的错误登录log;er.此时取出userInfo中的fail_login_times失败登录次数(大于5次锁定账号),若小于5次的话则对当前失败登录次数累加+1,若大于5次,修改userInfo的status状态为Locked锁定,取当前日期和时间,用来update用户的最后登录日期和时间/fail_login_times/status;san.最后返给前端状态码“用户名或者密码错误”

2.判断userInfo的status状态是否为invalid无效,返给前端状态码“无效的用户,请联系管理员!”

3.判断userInfo的status状态是否为locked已锁定,返给前端状态码“用户已被锁定,请联系管理员!”

4.获取userInfo的pwd_changeDate密码修改日期,判断是否为空,若为空,返给前端状态码“用户首次登录或已重制密码,请修改密码!”

5.登录成功的情况下
获取userInfo的pwd_changeDate密码修改日期,与当前时间做比较:
若>90天的话,返给前端状态码“密码已过期!” 并update数据库user_info的用户status为pwdexpored密码过期
若<90天,则登录成功,此时update用户表最后登录日期和时间

用粗略的笔法画出一个简单的草图,仅供欣赏~颜值不重要哈
【技术篇】日常网站App的用户登录,你懂了吗_第2张图片

你可能感兴趣的:(技术,java)