From 146fab706a46bbd4c2d2772151a7a6d5d9dd2a43 Mon Sep 17 00:00:00 2001 From: bjang03 <259278618@qq.com> Date: Fri, 30 Aug 2024 13:30:18 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=AF=86=E7=A0=81=E7=AD=96=E7=95=A5?= =?UTF-8?q?=E9=87=8D=E8=AF=95=E9=94=81=E5=AE=9A=E6=97=B6=E9=95=BFBUG?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20=20HL-5773?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/service/password/PassWordServiceImpl.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/password/PassWordServiceImpl.java b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/password/PassWordServiceImpl.java index e6869d6bdd..4b0452c3cb 100644 --- a/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/password/PassWordServiceImpl.java +++ b/win-module-system/win-module-system-biz/src/main/java/com/win/module/system/service/password/PassWordServiceImpl.java @@ -96,13 +96,12 @@ public class PassWordServiceImpl implements PassWordService { if (!configVO.isOnOff()) { return; } - Long incr = redisCache.redisTemplate.opsForValue().increment(String.format(PASSWORD_RETRY_TIMES, loginName)); - if (incr == 3) { - redisCache.expire(String.format(PASSWORD_RETRY_TIMES, loginName), configVO.getLockMinutes(), TimeUnit.MINUTES); - } - if (incr > 3) { + String key = String.format(PASSWORD_RETRY_TIMES, loginName); + String times = redisCache.getCacheObject(key); + if(!Util.isNullOrEmpty(times) && Integer.parseInt(times) == 3){ throw exception(PASSWORD_RETRY_TIMES_ERROR, configVO.getLockMinutes(), configVO.getTryCount(), LocalDateTime.now().plusMinutes(configVO.getLockMinutes()).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); } + redisCache.incr(String.format(PASSWORD_RETRY_TIMES, loginName), configVO.getLockMinutes()*60); } @Override public void validateResetTime(LocalDateTime lastResetTime) {