|
@@ -76,23 +76,25 @@ public class AdminServiceImpl implements AdminService {
|
|
|
/*
|
|
|
* redis校验
|
|
|
* */
|
|
|
- Integer adminLogin = (Integer) redisUtil.get(ADMIN_LOGIN + adminInfo.getId());
|
|
|
+ String ipLogin = IPUtils.getIP() + ADMIN_LOGIN + adminInfo.getId();
|
|
|
+ Integer adminLogin = (Integer) redisUtil.get(ipLogin);
|
|
|
if (adminLogin != null && adminLogin >= 5) {
|
|
|
- redisUtil.incr(ADMIN_LOGIN + adminInfo.getId(), 1);
|
|
|
- redisUtil.expire(ADMIN_LOGIN + adminInfo.getId(), 300);
|
|
|
+ redisUtil.incr(ipLogin, 1);
|
|
|
+ redisUtil.expire(ipLogin, 300);
|
|
|
throw new ServiceException("连续输错" + adminLogin + "次,账号锁定,请过5分钟后重试!");
|
|
|
}
|
|
|
|
|
|
password = PasswordUtils.buildPw(password);
|
|
|
if (!adminInfo.getPassword().equals(password)) {
|
|
|
//每次输错便加1,并设置过期时间为5分钟
|
|
|
- redisUtil.incr(ADMIN_LOGIN + adminInfo.getId(), 1);
|
|
|
+ redisUtil.incr(ipLogin, 1);
|
|
|
+ redisUtil.expire(ipLogin, 300);
|
|
|
throw new ServiceException("账号或密码输入错误");
|
|
|
} else {
|
|
|
//登录成功
|
|
|
- boolean b = redisUtil.hasKey(ADMIN_LOGIN + adminInfo.getId());
|
|
|
+ boolean b = redisUtil.hasKey(ipLogin);
|
|
|
if (b) {
|
|
|
- redisUtil.setRemove(ADMIN_LOGIN + adminInfo.getId());
|
|
|
+ redisUtil.del(ipLogin);
|
|
|
}
|
|
|
}
|
|
|
AdminVO adminLoginVO = new AdminVO();
|