Spring Boot 全局异常处理怎么捕获认证失败异常
使用 @controlleradvice 配合 @exceptionhandler 可以统一拦截 authenticationexception。在配置类中开启 httpbasic() 或 formlogin() 后,当用户未提供凭证或凭证错误时,spring security 会抛出该异常,全局处理器将其转换为 json 响应。

如何自定义认证失败的返回格式
通过继承 AuthenticationEntryPoint 并重写 commence 方法,可以完全控制认证失败时的 HTTP 状态码和响应体内容。这种方式比直接捕获异常更底层,适用于需要修改 Header 或特定状态码的场景。

基于程序中某个输入、条件或结果的具体问题
当请求头中缺少 Authorization 字段时,程序会触发 401 状态码并进入全局异常处理逻辑。此时 AuthenticationException 的 message 通常为空,需根据具体实现判断是未认证还是认证失败。


















