Web 使用X-request-With:XMLHttpRequest:source禁止WWW身份验证?

Web 使用X-request-With:XMLHttpRequest:source禁止WWW身份验证?,web,spring-security,Web,Spring Security,声明将X-request-With:XMLHttpRequest附加到HTTP请求后,会阻止(spring)服务器使用WWW-Authenticate进行响应 我想知道: 这种行为有记录吗?有人能给我指一下参考资料吗 它是web服务器中的标准还是约定?它是针对spring的吗 谢谢 最好的参考是源代码。在这个类中,您可以看到,当它是一个AJAX调用时(即请求具有头X-request-With:XMLHttpRequest),将返回一个简单的401响应。如果不是AJAX,那么还添加了WWW-Aut

声明将
X-request-With:XMLHttpRequest
附加到HTTP请求后,会阻止(spring)服务器使用
WWW-Authenticate
进行响应

我想知道:

  • 这种行为有记录吗?有人能给我指一下参考资料吗
  • 它是web服务器中的标准还是约定?它是针对spring的吗
  • 谢谢

  • 最好的参考是源代码。在这个类中,您可以看到,当它是一个AJAX调用时(即请求具有头
    X-request-With:XMLHttpRequest
    ),将返回一个简单的401响应。如果不是AJAX,那么还添加了
    WWW-Authenticate

  • 在AJAX调用上下文中使用HTTP基本身份验证时,这是一种常见的行为。当响应中包含
    WWW-Authenticate
    标题时,浏览器会自动向用户显示一个弹出对话框,询问用户名和密码。对于AJAX调用,这不是最好的用户体验。通过在响应未经身份验证的AJAX调用时不使用
    WWW-Authenticate
    头,Spring Security为前端应用程序提供了实现更好的逻辑来处理丢失的凭据的选项


  • 显然,感谢您的回复,Spring安全文档中关于基本身份验证的部分没有包含这一信息。()请随时报告Spring Security GitHub项目的问题,以更新文档: