Redis实现密码错误次数过多限制登录
2019-06-11 14:34
1591 查看
Redis与Spring
实现登录时密码错误次数过多限制登录,主要防止暴力破解登陆的问题。
首先新建enum枚举
public enum RedisKeyEnum { LOGIN_COUNT("LoginCount","访问home次数统计",null); private String key; private String desc; //过期时间,秒 private Integer expire; RedisKeyEnum(String key, String desc, Integer expire) { this.key = key; this.desc = desc; this.expire = expire; } public String getKey() { return key; } public void setKey(String key) { this.key = key; } public String getDesc() { return desc; } public void setDesc(String desc) { this.desc = desc; } public Integer getExpire() { return expire; } }
登录时使用redis
public String login(String realName, String password,){ //根据用户名设置key String keys = RedisKeyEnum.SIGN_UP_LOGIN_COUNT + "_" + realName; Integer a = (Integer) redisTemplate.opsForValue().get(keys); if (a==null){ a=0; redisTemplate.opsForValue().set(keys,a); } //登录错误次数超限 if (a<5){ if (!user.getPassword().equals(MyPasswordEncrypt.encryptPassword(password))) { a++; redisTemplate.opsForValue().set(keys,a); return "/home"; } //设置keys值的过期时间 redisTemplate.opsForValue().set(keys,a,3600, TimeUnit.SECONDS); return "/login"; } }
主要代码如上所示,有不足的地方望指出。
相关文章推荐
- Discuz1.5 密码错误次数过多,请 15 分钟后重新登录
- PHP结合redis 限制用户登入 密码错误次数(redis实例)
- [置顶] 【三】Springboot+Redis实现密码次数限制
- DiscuzX2.5密码错误次数过多,请 15 分钟后重新登录的修改办法
- php 结合redis 限制用户登入 密码错误次数
- DiscuzX2.5密码错误次数过多,请 15 分钟后重新登录的修改办法
- 取消Oracle用户密码登录错误次数限制
- 登录安全性 一天内连续输入密码错误3次,第二天才能登录(过了当天凌晨24点),实现原理
- 黑马程序员-ADO.NET登录页面中的错误次数过多禁止登陆
- spring security实现限制登录次数功能
- ssh 登录输入用户名和密码错误次数太多,怎么办?
- 【Java】SpringMVC项目利用Shiro设置固定时间内密码登录重试次数限制
- Discuz!:密码错误次数过多,请15分钟后重新登陆的修改方法
- 面试题之redis实现限制1小时内每用户Id最多只能登录5次
- [SpringMVC+redis]自定义aop注解实现控制器访问次数限制
- 密码输入错误次数过多导致锁定处理
- 多平台登录APP修改密码后退出登录的Redis实现
- 在登录页面设计中输入密码错误后弹框提示并返回到登录界面的代码实现
- Redis限制在规定时间范围内登陆错误次数限制
- python学习之路之案例0(实现登录功能,登录错误次数超过3次,自动退出登录)