基于验证码登录
1.检查验证码
1.1生成验证码
有相关的验证码工具包和类,配置验证码规则,比如验证码长度、大写字母、小写字母、符号、数字、是否可重复等规则。
1.2保存验证码
当生成新的验证码时,调用服务端接口(service层),将生成的验证码,存入数据库。
然后,数据库建一个存储验证码的表,img_code,它的字段包括:
1.3查询验证码
当有用户登录时,除了用户的登录信息外,需要回传验证码的uuid和code,用回传的uuid查询验证码的表,比较code是否一致,
并且要检查当前请求的时间和验证码生成时间是否超过了我们设置的时间,比如三分钟,超过了则验证码无效。
2.检查用户是否被锁定
通过验证码后,需要查询用户登录记录表,里面存储着用户的每次登录信息,我们最关注的是用户最近一次登录信息。
判断用户账号是否被锁定,登录失败次数是否超过限制,和最后一次登录时间,如果失败次数超过了限制,我们可以根据设置的限制(比如15分钟后再登录)时间,系统当前时间和最后一次登录时间,三者关系,来告知用户多少分之后才可以再次登录。
3.最后进行账号密码正确性校验
通过登录限制,最后进行账号密码正确性检查。