iis-7.5 - 启用 Windows 身份验证的 IIS 中 CORS 请求的 401 响应

标签 iis-7.5 windows-authentication asp.net-web-api ntlm cors

我正在尝试在我的 WebAPI 项目中启用 CORS 支持,如果我启用匿名身份验证,那么一切正常,但是使用 Windows Auth + 禁用匿名身份验证,发送的 OPTIONS 请求总是返回 401 未经授权的响应。请求它的站点位于 DOMAIN 上,因此应该能够进行调用,是否有任何方法可以在不禁用 Windows 身份验证的情况下解决该问题?

最佳答案

您只能允许匿名用户使用 OPTIONS 动词。

<system.web>
  <authentication mode="Windows" />
    <authorization>
      <allow verbs="OPTIONS" users="*"/>
      <deny users="?" />
  </authorization>
</system.web>

根据 W3C 规范,浏览器从 CORS 预检中排除用户凭证:https://dvcs.w3.org/hg/cors/raw-file/tip/Overview.html#preflight-request

关于iis-7.5 - 启用 Windows 身份验证的 IIS 中 CORS 请求的 401 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51296702/

相关文章:

asp.net-mvc-3 - IIS7.5 上的 ASP.NET MVC 3 Intranet 站点 w Windows 身份验证提供 401.3 并且尝试登录时请求的文件授权失败

c# - 使用 Entity Framework 在 ASP.NET Core 应用程序中对远程用户进行 Windows 身份验证

visual-studio-2012 - webdeploying时创建自动备份

google-chrome - 网站在 chrome 中不工作,但在 FF 和 IE 中工作

c# - 无法加载文件或程序集 '...' 或其依赖项之一。试图加载格式不正确的程序

asp.net - 从树莓派浏览器访问 Windows 身份验证网页

asp.net-web-api - 如何只获取没有值的Odata.Count

c# - 自定义 ASP.NET Web API 帮助页面的 "Resource Description"部分

c# - 当 localhost :port number is in browser address in iis express 时,web api 显示 403.14 错误

php - 问题 - FastCGI 池队列已满