我正在尝试在我的 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/