失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > mysql 用户 多次登录失败_限制用户登录失败次数 在连续登陆失败10次后冻结该用户。...

mysql 用户 多次登录失败_限制用户登录失败次数 在连续登陆失败10次后冻结该用户。...

时间:2021-04-19 08:55:10

相关推荐

mysql 用户 多次登录失败_限制用户登录失败次数 在连续登陆失败10次后冻结该用户。...

Controller中内容如下

//定义rediesTemplate

private static RedisTemplate redisTemplate = SpringContextHolder.getBean("redisTemplate");

//定义日志记录

private static final Logger logger = LoggerFactory.getLogger(SysCommonUtil.class);

String key = CacheKey.USER_NAME +"_"+ username; //定义缓存key

try {

currentUser.login(token);

redisTemplate.delete(key); //登陆成功删除缓存

} catch (Exception e) {

Object countObj = redisTemplate.opsForValue().get(key); //根据key获取缓存中的val

long count = 1; //定义第一次登陆失败的次数为 1

if(countObj != null){

count = Long.parseLong(countObj.toString());

count ++; //连续登陆失败 次数++

if (count == Const.LOGIN_FAIL_COUNT) { //定义限制错误登陆的最大次数,常量定义。

userService.setStatusByAc(username,ManagerStatus.FREEZED.getCode());//调用冻结方法

logger.error("账号为【"+username+"】的用户单日登录次数超过上限,已被冻结。"); //日志记录

}

}

// 往redis中增加登录失败的次数。key:username;count:次数;24 计时时间; TimeUnit.HOURS:24小时

redisTemplate.opsForValue().set(key, count, 24, TimeUnit.HOURS);

//处理完登陆失败手动抛异常

throw e;

}

如果觉得《mysql 用户 多次登录失败_限制用户登录失败次数 在连续登陆失败10次后冻结该用户。...》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。