فهرست منبع

# fix: 登录失败统一返回"账号或密码错误"(BadCredentialsException + 认证异常全局处理)

yangyi 2 هفته پیش
والد
کامیت
22fce4df65
1فایلهای تغییر یافته به همراه7 افزوده شده و 1 حذف شده
  1. 7 1
      src/main/java/space/anyi/serve/handler/GlobalExceptionHandler.java

+ 7 - 1
src/main/java/space/anyi/serve/handler/GlobalExceptionHandler.java

@@ -2,6 +2,7 @@ package space.anyi.serve.handler;
 
 import jakarta.validation.ConstraintViolationException;
 import org.springframework.http.HttpStatus;
+import org.springframework.security.authentication.BadCredentialsException;
 import org.springframework.security.core.AuthenticationException;
 import org.springframework.validation.BindException;
 import org.springframework.validation.FieldError;
@@ -63,9 +64,14 @@ public class GlobalExceptionHandler {
         return Response.error("参数不合法",fieldErrors);
     }
 
+    @ExceptionHandler(BadCredentialsException.class)
+    public Response<String> handleBadCredentials(BadCredentialsException ex) {
+        return Response.error("账号或密码错误");
+    }
+
     @ExceptionHandler(AuthenticationException.class)
     public Response<String> handleAuthenticationException(AuthenticationException ex) {
-        return Response.error(ex.getMessage());
+        return Response.error("账号或密码错误");
     }
 
     @ExceptionHandler(Exception.class)