栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

用户输入错误验证码错误三次后,锁定该用户3分钟 redis 使用案列

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用户输入错误验证码错误三次后,锁定该用户3分钟 redis 使用案列

一  用户输入错误验证码错误三次后,锁定该用户3分钟 redis 使用案列
    @ResponseBody
    @RequestMapping("sendCode")
    public String sendCode(String tel){
        int code= (int) (Math.random()*999999);
        // 存储60秒
        int time=60;
        redisTemplate.opsForValue().set(tel,code+"",time, TimeUnit.SECONDS);
        System.out.println("电话:"+tel+"验证码:"+code);
       // 这里采用的工具类发送手机
      //  String send = SendTeleMsgUtil.send(tel, code + "", time);

        return  code+"";
    }
  


@PostMapping("login")
    public String login(String tel,String code){
        // 判断手机号
        Boolean b = redisTemplate.hasKey(tel);
        // 固定常量
        String count="_LOGIN_COUNT";
        String user_lock="_USER_LOCK";
        if (b){
            // 判断验证码是否正确
            if (code.equals(redisTemplate.opsForValue().get(tel))){
                // 判断该用户是否被锁定
                if (!redisTemplate.hasKey(user_lock)){
                    // 不存在则放行
                    return "redirect:list";
                }
            }else {
                // 失败记录次数  第一次设置 值为1 存在60秒 与验证码存在时间同步
                Boolean first = redisTemplate.opsForValue().setIfAbsent(tel+count, 1,60,TimeUnit.SECONDS);
                if (!first){
                    // 第二次自增 1
                    redisTemplate.opsForValue().increment(tel+count);
                    if ((int)redisTemplate.opsForValue().get(tel+count) > 3){
                        // 失败超过3次  锁定用户 3分钟
                        redisTemplate.opsForValue().set(tel+user_lock,1,3,TimeUnit.MINUTES);
                        System.out.println("已上锁");
                    }
                }
            }
        }
        // 登陆失败
        //System.out.println(redisTemplate.opsForValue().get(tel+count)+"------------------------");
        return "login";
    }

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/677656.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号