java认证教程_用户登录认证

基于验证码登录

1.检查验证码

1.1生成验证码

有相关的验证码工具包和类,配置验证码规则,比如验证码长度、大写字母、小写字母、符号、数字、是否可重复等规则。

1.2保存验证码

当生成新的验证码时,调用服务端接口(service层),将生成的验证码,存入数据库。

然后,数据库建一个存储验证码的表,img_code,它的字段包括:

55a236a18fc8321fc076697964ca0a6d.png

1.3查询验证码

当有用户登录时,除了用户的登录信息外,需要回传验证码的uuid和code,用回传的uuid查询验证码的表,比较code是否一致,

并且要检查当前请求的时间和验证码生成时间是否超过了我们设置的时间,比如三分钟,超过了则验证码无效。

2.检查用户是否被锁定

通过验证码后,需要查询用户登录记录表,里面存储着用户的每次登录信息,我们最关注的是用户最近一次登录信息。

判断用户账号是否被锁定,登录失败次数是否超过限制,和最后一次登录时间,如果失败次数超过了限制,我们可以根据设置的限制(比如15分钟后再登录)时间,系统当前时间和最后一次登录时间,三者关系,来告知用户多少分之后才可以再次登录。

4e10507f1424d0218bd87e37d61bcf3b.png

3.最后进行账号密码正确性校验

通过登录限制,最后进行账号密码正确性检查。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值