From 2f705bc9555bfdaedc5fee447b9c5747d7adf9f1 Mon Sep 17 00:00:00 2001 From: jiang Date: Tue, 10 Sep 2024 18:08:39 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=99=BB=E5=BD=95=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/bonus/gateway/filter/ValidateCodeFilter.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/bonus-gateway/src/main/java/com/bonus/gateway/filter/ValidateCodeFilter.java b/bonus-gateway/src/main/java/com/bonus/gateway/filter/ValidateCodeFilter.java index a993fee..4c91db1 100644 --- a/bonus-gateway/src/main/java/com/bonus/gateway/filter/ValidateCodeFilter.java +++ b/bonus-gateway/src/main/java/com/bonus/gateway/filter/ValidateCodeFilter.java @@ -30,7 +30,6 @@ import java.util.concurrent.atomic.AtomicReference; public class ValidateCodeFilter extends AbstractGatewayFilterFactory { private final static String[] VALIDATE_URL = new String[]{"/auth/login", "/auth/register", "/auth/getPhoneCode"}; - @Autowired private ValidateCodeService validateCodeService; @@ -47,7 +46,7 @@ public class ValidateCodeFilter extends AbstractGatewayFilterFactory { ServerHttpRequest request = exchange.getRequest(); // 非登录/注册请求或验证码关闭,不处理 - if (!StringUtils.equalsAnyIgnoreCase(request.getURI().getPath(), VALIDATE_URL) || !captchaProperties.getEnabled()) { + if (!StringUtils.equalsAnyIgnoreCase(request.getURI().getPath(), VALIDATE_URL)) { return chain.filter(exchange); } try { @@ -56,9 +55,12 @@ public class ValidateCodeFilter extends AbstractGatewayFilterFactory { throw new CaptchaException("请求参数异常"); } JSONObject obj = JSON.parseObject(rspStr); - if (ObjectUtils.isNotEmpty(obj) && ObjectUtils.isNotEmpty(obj.getString("loginType")) && StringUtils.equals(obj.getString("loginType"), "mobile")) { - validateCodeService.checkPhoneCaptcha(obj.getString("verificationCode"), obj.getString("mobile")); + if (ObjectUtils.isNotEmpty(obj) && ObjectUtils.isNotEmpty(obj.getString("phoneUuid")) && ObjectUtils.isNotEmpty(obj.getString("verificationCode"))) { + validateCodeService.checkPhoneCaptcha(obj.getString("verificationCode"), obj.getString("phoneUuid")); } else { + if (!captchaProperties.getEnabled()) { + return chain.filter(exchange); + } validateCodeService.checkCaptcha(obj.getString(CODE), obj.getString(UUID)); }