登录接口逻辑
1)首先判断 redis内密码错误次数>= 数据库控制显示次数 ,是 则进行验证码的验证。
2)验证验证码是否成功 ,成功 则进一步进行 密码的验证。若密码错误,redis设备错误次数+1,接下来判断当前错误次数,与数据库用户冻结次数是否相等,是 则冻结,否 则返回用户还有几次冻结。
3)若密码验证不成功,判断是否给前端验证码显示标识,redis密码错误次数>=数据库控制显示次数(因为此时的判断是在密码验证不成功后的判断,redis的密码错误次数已经+1),是,返回前端显示验证码标识。前端请求获取验证码接口。
注:
1)因为密码错误几次控制验证码显示要精确到每个设备,所以要与设备id(唯一标识)做绑定
2)前端请求获取验证码,将设备id做key,生成的验证码做value存入redis。
3)要配合清除错误次数接口,清除redis内的错误次数。在登录成功、前端APP初始化、前端APP杀死进程前,这三个场景都要调用,保证剩余错误次数的准确。
获取验证码接口