From a23155cb275dfc90b98867ed40c4ec500aefdb32 Mon Sep 17 00:00:00 2001 From: none Date: Mon, 3 Jul 2023 17:41:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=99=BB=E5=BD=95=E9=99=90?= =?UTF-8?q?=E5=88=B6=E7=9A=84=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xyz/playedu/api/controller/backend/LoginController.java | 4 +++- .../playedu/api/controller/frontend/LoginController.java | 4 +++- .../playedu/api/service/impl/BackendAuthServiceImpl.java | 6 +++--- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/main/java/xyz/playedu/api/controller/backend/LoginController.java b/src/main/java/xyz/playedu/api/controller/backend/LoginController.java index 476fd1d..949a4e7 100644 --- a/src/main/java/xyz/playedu/api/controller/backend/LoginController.java +++ b/src/main/java/xyz/playedu/api/controller/backend/LoginController.java @@ -63,7 +63,9 @@ public class LoginController { String limitKey = "admin-login-limit:" + loginRequest.getEmail(); Long reqCount = rateLimiterService.current(limitKey, 3600L); if (reqCount > 5) { - return JsonResponse.error("多次账密错误,账号被锁1个小时"); + Long exp = RedisUtil.ttl(limitKey); + return JsonResponse.error( + String.format("您的账号已被锁定,请%s后重试", exp > 60 ? exp / 60 + "分钟" : exp + "秒")); } String password = diff --git a/src/main/java/xyz/playedu/api/controller/frontend/LoginController.java b/src/main/java/xyz/playedu/api/controller/frontend/LoginController.java index 6cb8a19..6566fd0 100644 --- a/src/main/java/xyz/playedu/api/controller/frontend/LoginController.java +++ b/src/main/java/xyz/playedu/api/controller/frontend/LoginController.java @@ -65,7 +65,9 @@ public class LoginController { String limitKey = "login-limit:" + req.getEmail(); Long reqCount = rateLimiterService.current(limitKey, 600L); if (reqCount >= 10) { - return JsonResponse.error("多次账密错误,账号被锁10分钟"); + Long exp = RedisUtil.ttl(limitKey); + return JsonResponse.error( + String.format("您的账号已被锁定,请%s后重试", exp > 60 ? exp / 60 + "分钟" : exp + "秒")); } if (!HelperUtil.MD5(req.getPassword() + user.getSalt()).equals(user.getPassword())) { diff --git a/src/main/java/xyz/playedu/api/service/impl/BackendAuthServiceImpl.java b/src/main/java/xyz/playedu/api/service/impl/BackendAuthServiceImpl.java index 424dc9b..4deed43 100644 --- a/src/main/java/xyz/playedu/api/service/impl/BackendAuthServiceImpl.java +++ b/src/main/java/xyz/playedu/api/service/impl/BackendAuthServiceImpl.java @@ -26,12 +26,12 @@ import java.util.HashMap; @Service public class BackendAuthServiceImpl implements BackendAuthService { - @Autowired - private AuthService authService; + @Autowired private AuthService authService; @Override public String loginUsingId(Integer userId, String loginUrl) { - return authService.loginUsingId(100000000 + userId, loginUrl, SystemConstant.JWT_PRV_ADMIN_USER); + return authService.loginUsingId( + 100000000 + userId, loginUrl, SystemConstant.JWT_PRV_ADMIN_USER); } @Override