在WebAPI应用程序中,我按照文章http://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api#allowed-origins中的描述实现了自定义CORS策略,但是起源是在自定义部分的web.config
文件中设置的。我有角度客户端应用程序将请求发送到WebAPI。
我尝试了两种方案:
1)使用localhost
网址运行应用程序。
2)使用计算机名运行应用程序。
在这两种情况下,我的起源都包含在web.config
文件中。在第一种情况下一切正常。在第二个发送CORS预检请求,但没有实际的GET或POST请求。在预检响应中有正确的标题:
Access-Control-Allow-Headers: content-type, custom-session-id
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Allow-Origin: http://computername
有什么不对?我将不胜感激任何帮助。
编辑:来自小提琴手的截图:
答案 0 :(得分:0)
我找到了解决方案:CorsPolicy
对象中缺少设置:SupportsCredentials
需要设置。我没想到,即使我不发送凭据,我仍然需要设置此标志。