From 698ae84adaf1b8d0e8dd61d7279863fe17c1e81d Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期四, 23 一月 2025 14:20:39 +0800 Subject: [PATCH] 1 --- ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-) diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java index 6d1e19f..76df49e 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java @@ -33,6 +33,8 @@ import java.util.Collection; import java.util.List; import java.util.Objects; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * 登录校验方法 @@ -217,6 +219,25 @@ public void resetPwd(RegisterUser registerUser) { User user = check(registerUser); + String verifyKey = CacheConstants.PHONE_CODE_KEY + StringUtils.nvl(registerUser.getPhone(), ""); + String captcha = redisService.getCacheObject(verifyKey); + if (captcha == null) { + throw new CaptchaException("验证码错误"); + } + String[] split = captcha.split(":"); + + + long l = Long.parseLong(split[1]); + long l1 = System.currentTimeMillis(); + // 判断是否大于两分钟 + if (l1 - l > 2 * 60 * 1000) { + throw new CaptchaException("验证码已失效"); + } + captcha = split[0]; + if (!registerUser.getCode().equalsIgnoreCase(captcha)) { + throw new CaptchaException("验证码错误"); + } + String password = SecurityUtils.encryptPassword(registerUser.getPassword()); user.setPassword(password); R<Void> r = remoteCompanyUserService.updateUser(user, SecurityConstants.INNER); -- Gitblit v1.7.1