在 WebAPI 上启用 CORS 在 Postman 中似乎不起作用

Posted

技术标签:

【中文标题】在 WebAPI 上启用 CORS 在 Postman 中似乎不起作用【英文标题】:Enable CORS on WebAPI appears not working from Postman 【发布时间】:2017-03-03 01:26:38 【问题描述】:

我正在尝试为特定域启用 CORS。我已经按照他们所说的一切在这里:

https://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api

我在 WebApiConfig 上启用了 cors。我在控制器类上设置属性,每个域用逗号分隔。我还尝试实现自己的 ICorsPolicyProvider 类。当我在 Postman 上测试代码时,它总是返回值,尽管域不在原点列表中作为原点。我注意到返回的标头不包括 Access-Control-Allow-Origin 标头。我正在使用 Microsoft.AspNet.WebApi 版本 5.2.3。我无法弄清楚我做错了什么。

非常感谢任何和所有帮助。谢谢。

【问题讨论】:

【参考方案1】:

客户端(浏览器或邮递员)负责执行 CORS。其机制是,当 javascript 尝试跨域 AJAX 调用时,浏览器会检查是否允许这样做。

您的情况的解决方案:尝试在浏览器中从 JavaScript 向控制器发出请求,您应该会看到您所期望的行为。

作为 Chrome 扩展,Postman 可以在其来源之外发出请求:https://developer.chrome.com/extensions/xhr

【讨论】:

以上是关于在 WebAPI 上启用 CORS 在 Postman 中似乎不起作用的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ASP.net Core WebAPI 中启用 CORS

如何在我的 ASP.NET 核心 WebApi 项目中全局启用 CORS

仅在 IIS 中发布时,在 ASP.net Core 3.1 WebAPI 中启用 CORS 时出错

在 .net 核心 webAPI 中启用 CORS

如何在 Asp.Net Core 3.0 WebAPI 中启用 CORS

在 ASP .NET Core 2.1 Web Api 中启用 CORS