利用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)在登录接口的开始的地方查询是否已经被限制登录