利用redis设置系统登录次数限制
本次代码逻辑比较简单,还有很多可以完善的地方,比如说和aop结合,使用注解等等,以后有时间了再来研究优化策略,这里先记载一个简单的版本
(1)先写一个检测规定时间内登录失败的方法,该方法返回失败的次数

private Integer checkLoginTimes(String key) {
Integer number = (Integer) redisUtil.get(key);
//第一次登陆失败
if (number == null) {
//设置key
number = 0;
redisUtil.set(key, number);
}
//登陆失败未操作次数限制
if (number < 5) {
number++;
redisUtil.set(key, number);
}
//设置过期时间
redisUtil.expire(key, 1800);
return number;
}
(2)在发现了用户登录失败的地方调用该方法(可能是多个地方都要调用)

(3)在登录接口的开始的地方查询是否已经被限制登录

浙公网安备 33010602011771号