• 7月19 登录失败 错误次数 | 字段类型被修改bug | 日志


    添加 错误次数 miss_count 以及 禁止登录时间 no_login_date

    比如最多错误5次,5次都错误,半小时内禁止登录

    流程:

    1、登录失败

    miss_count ++ 

    当miss_count =5 时,禁止登录,设置no_login_date = new Date + 30Min

    按再次登录判断时间

    当 miss_count =5 时 ,再次登录 判断 no_login_date

    no_login_date > 当前时间 提示禁止登录

    2、登录成功

    清空 miss_count 和 no_login_date

    上代码

    // #1# 如果登录错误次数大于5次 规定时间内禁止登录
    
            if(dbUser.getLoginFailCount() != null &&  dbUser.getLoginFailCount() >= 5){
                if(DateUtils.getCurrentDateTime().getTime() < dbUser.getMissDate().getTime()){
                    return LYResultVO.errorResultVO("账号连续5次登录失败,请于30分钟后登录!");
                }
    
    #2# 如果过了30分钟 解禁 count 设置为0
                dbUser.setLoginFailCount(0);
                systemUserJpaRepository.save(dbUser);
            }
        
    #3# 密码错误时 触发  。且防止空指针 不为null 再get + 1    
            if (!dbUser.getPassword().equals(MD5Utils.MD5(user.getPassWord()))) {
                
                if(dbUser.getLoginFailCount() != null){
                    dbUser.setLoginFailCount(dbUser.getLoginFailCount() + 1);
                }else{
                    dbUser.setLoginFailCount(1);    
                }
                systemUserJpaRepository.save(dbUser);
                
                if(dbUser.getLoginFailCount()  == 5){
                    dbUser.setMissDate(DateUtils.getAfterCurrentDateTime(30));
                }
                
                return LYResultVO.errorResultVO("密码有误!");
            }
    
    #4#  登录成功归零
        dbUser.setLoginFailCount(0);
            systemUserJpaRepository.save(dbUser);

    二、字段类型被修改bug

    id 原来是varchar 不知被怎么的改成了int

    然后查询就出现了这样的结果。错乱了

    三、添加日志

    controller 访问都要添加日志

    方法参数 都叫request (@RequestBody RoleInfoDTO request)

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
        private final Logger log = LoggerFactory.getLogger(RoleInfoResource.class);
    
     @ApiOperation(value="角色删除")
    log.info("#角色删除#" + JsonUtils.obj2str(request));
    JSON.toJSONString(dicList)
    
    阿里巴巴json
  • 相关阅读:
    Celery 分布式任务队列入门
    异步通信----WebSocket
    爬虫框架之scrapy
    《JavaScript 高级程序设计》第一章:简介
    NodeJS学习:环境变量
    cmd 与 bash 基础命令入门
    H5开发中的故障
    认识 var、let、const
    netsh & winsock & 对前端的影响
    scrollify
  • 原文地址:https://www.cnblogs.com/lyon91/p/9335545.html
Copyright © 2020-2023  润新知