Commit f8bf9d77 authored by 技术部-任文超's avatar 技术部-任文超

优化代码结构,清除无效代码

parent db628406
...@@ -19,7 +19,6 @@ import org.springframework.web.context.request.RequestContextHolder; ...@@ -19,7 +19,6 @@ import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.nio.charset.Charset;
import java.util.*; import java.util.*;
/** /**
...@@ -33,16 +32,6 @@ import java.util.*; ...@@ -33,16 +32,6 @@ import java.util.*;
public class PasswordErrorFiniteValidateAdvisor { public class PasswordErrorFiniteValidateAdvisor {
private static final Logger LOGGER = LoggerFactory.getLogger(PasswordErrorFiniteValidateAdvisor.class); private static final Logger LOGGER = LoggerFactory.getLogger(PasswordErrorFiniteValidateAdvisor.class);
private static final String SUPER_CAPTCHA_ID = UUID.nameUUIDFromBytes("__QG_APPCLIENT_AGENT__".getBytes(Charset.forName("UTF-8"))).toString();
private static final String SUPER_CAPTCHA = "__SUPERQG__";
/**
* 图形验证码错误计数器生命周期,与图形验证码生命周期保持一致
* 参照点:cn.quantgroup.xyqb.config.captcha.RedisCaptchaStore{
* DEFAULT_EXPIRED_IN = 120L;
* DEFAULT_EXPIRED_TIMEUNIT = TimeUnit.SECONDS;
* }
*/
private static final Long SECONDS = 2 * 60L;
@Autowired @Autowired
@Qualifier("stringRedisTemplate") @Qualifier("stringRedisTemplate")
......
...@@ -525,20 +525,28 @@ public class UserController implements IBaseController { ...@@ -525,20 +525,28 @@ public class UserController implements IBaseController {
} }
//验证密码 //验证密码
if (!validatePassword(pass, user.getPassword())) { if (!validatePassword(pass, user.getPassword())) {
String ipv4 = getIp(); // 向该ipv4添加错误计数器
if (StringUtils.isNotBlank(ipv4) && !ValidationUtil.validateLocalIpv4(ipv4)) { countErrorByIpv4();
String ipv4Key = getIpKey(getIp());
if(!stringRedisTemplate.hasKey(getIpKey(getIp()))){
// 计数周期5分钟
stringRedisTemplate.opsForValue().set(ipv4Key, String.valueOf(0), 5, TimeUnit.MINUTES);
}
stringRedisTemplate.opsForValue().increment(ipv4Key, 1L);
}
return null; return null;
} }
return user; return user;
} }
/**
* 向该ipv4添加错误计数器
*/
private void countErrorByIpv4() {
String ipv4 = getIp();
if (StringUtils.isNotBlank(ipv4) && !ValidationUtil.validateLocalIpv4(ipv4)) {
String ipv4Key = getIpKey(getIp());
if(!stringRedisTemplate.hasKey(getIpKey(getIp()))){
// 计数周期5分钟
stringRedisTemplate.opsForValue().set(ipv4Key, String.valueOf(0), 5, TimeUnit.MINUTES);
}
stringRedisTemplate.opsForValue().increment(ipv4Key, 1L);
}
}
private final static String getIpKey(String ipv4){ private final static String getIpKey(String ipv4){
return Constants.REDIS_PASSWORD_ERROR_COUNT_FOR_IPV4 + ipv4; return Constants.REDIS_PASSWORD_ERROR_COUNT_FOR_IPV4 + ipv4;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment