diff --git a/src/main/java/com/youlai/boot/core/security/exception/MyAuthenticationEntryPoint.java b/src/main/java/com/youlai/boot/core/security/exception/MyAuthenticationEntryPoint.java index 9f3c144e..ddcae7d4 100644 --- a/src/main/java/com/youlai/boot/core/security/exception/MyAuthenticationEntryPoint.java +++ b/src/main/java/com/youlai/boot/core/security/exception/MyAuthenticationEntryPoint.java @@ -4,36 +4,37 @@ import com.youlai.boot.common.result.ResultCode; import com.youlai.boot.common.util.ResponseUtils; import org.springframework.security.authentication.BadCredentialsException; import org.springframework.security.core.AuthenticationException; +import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.security.web.AuthenticationEntryPoint; import org.springframework.stereotype.Component; import jakarta.servlet.ServletException; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; + import java.io.IOException; /** * 认证异常处理 * - * @author haoxr + * @author Ray.Hao * @since 2.0.0 */ @Component public class MyAuthenticationEntryPoint implements AuthenticationEntryPoint { - @Override + @Override public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authException) throws IOException, ServletException { int status = response.getStatus(); if (status == HttpServletResponse.SC_NOT_FOUND) { // 资源不存在 - ResponseUtils.writeErrMsg(response, ResultCode.RESOURCE_NOT_FOUND); + ResponseUtils.writeErrMsg(response, ResultCode.USER_RESOURCE_NOT_FOUND); } else { - - if(authException instanceof BadCredentialsException){ + if (authException instanceof UsernameNotFoundException || authException instanceof BadCredentialsException) { // 用户名或密码错误 - ResponseUtils.writeErrMsg(response, ResultCode.USERNAME_OR_PASSWORD_ERROR); - }else { + ResponseUtils.writeErrMsg(response, ResultCode.USER_PASSWORD_ERROR); + } else { // 未认证或者token过期 - ResponseUtils.writeErrMsg(response, ResultCode.TOKEN_INVALID); + ResponseUtils.writeErrMsg(response, ResultCode.ACCESS_TOKEN_INVALID); } } }