|
@@ -35,18 +35,27 @@ public class MailCodeFilter extends OncePerRequestFilter {
|
|
|
@Override
|
|
|
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
|
|
|
try {
|
|
|
+ if ("GET".equalsIgnoreCase(request.getMethod()) && "/getMailCode".equals(request.getServletPath())) {
|
|
|
+ String username = request.getParameter("username");
|
|
|
+ Object preventMailCode = LocalCache.get(CacheConstants.PREVENT_MAIL_CODE + username);
|
|
|
+ if (preventMailCode != null && !"".equals(preventMailCode)) {
|
|
|
+ ResponseInfo.doResponse(response, "动态口令已发送过,请耐心等待再获取!", 405);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
if ("POST".equalsIgnoreCase(request.getMethod()) && defaultFilterProcessUrl.equals(request.getServletPath())) {
|
|
|
// 是否需要邮箱口令验证
|
|
|
if (true) {
|
|
|
// 验证码验证
|
|
|
String username = request.getParameter("username");
|
|
|
+ LocalCache.remove(CacheConstants.PREVENT_MAIL_CODE + username);
|
|
|
Object mailCode = LocalCache.get(CacheConstants.MAIL_CODE_KEY + username);
|
|
|
|
|
|
// 校验服务端验证码
|
|
|
if (mailCode == null || "".equals(mailCode)) {
|
|
|
// 记录用户失败日志
|
|
|
LoginFactory.recordLogininfor(username, Constants.LOGIN_FAIL, "邮箱口令错误");
|
|
|
- ResponseInfo.doResponse(response, "邮箱口令无效,需要重新获取!", 401);
|
|
|
+ ResponseInfo.doResponse(response, "邮箱口令错误!", 401);
|
|
|
return;
|
|
|
}
|
|
|
// 页面录入的邮箱口令
|
|
@@ -56,13 +65,13 @@ public class MailCodeFilter extends OncePerRequestFilter {
|
|
|
if (StringUtils.isEmpty(mailbox)) {
|
|
|
// 记录用户失败日志
|
|
|
LoginFactory.recordLogininfor(username, Constants.LOGIN_FAIL, "邮箱口令错误");
|
|
|
- ResponseInfo.doResponse(response, "非法访问,邮箱口令错误!", 401);
|
|
|
+ ResponseInfo.doResponse(response, "邮箱口令错误!", 401);
|
|
|
return;
|
|
|
}
|
|
|
if (mailbox.length() != 6) {
|
|
|
// 记录用户失败日志
|
|
|
LoginFactory.recordLogininfor(username, Constants.LOGIN_FAIL, "邮箱口令错误");
|
|
|
- ResponseInfo.doResponse(response, "需要6位邮箱口令!", 401);
|
|
|
+ ResponseInfo.doResponse(response, "邮箱口令错误!", 401);
|
|
|
return;
|
|
|
}
|
|
|
if (!String.valueOf(mailCode).toLowerCase().equals(mailbox.toLowerCase())) {
|
|
@@ -70,6 +79,7 @@ public class MailCodeFilter extends OncePerRequestFilter {
|
|
|
LoginFactory.recordLogininfor(username, Constants.LOGIN_FAIL, "邮箱口令错误");
|
|
|
// 删除缓存邮箱口令
|
|
|
LocalCache.remove(CacheConstants.MAIL_CODE_KEY + username);
|
|
|
+ LocalCache.remove(CacheConstants.PREVENT_MAIL_CODE + username);
|
|
|
ResponseInfo.doResponse(response, "邮箱口令错误!", 401);
|
|
|
return;
|
|
|
}
|