利用redis设置系统登录次数限制

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

    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)在发现了用户登录失败的地方调用该方法(可能是多个地方都要调用)
image

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

posted @ 2021-07-09 18:40  小猫爱哭鬼  阅读(886)  评论(0编辑  收藏  举报