无法在ASP.NET Core 2.0中启用CORS

时间:2019-01-19 17:06:13

标签: c# cors asp.net-core-2.0

我正在尝试在ASP.NET Core MVC应用程序上启用CORS。我很沮丧。

我已经尝试了一些代码片段,但没有一个对我有用。这是我最后的尝试。

Startup.cs,“ ConfigureServices”方法。

 services.AddCors(options => options.AddPolicy("AllowAll", p =>  p.AllowAnyOrigin()
          .AllowAnyMethod()
          .AllowAnyHeader().AllowCredentials()));

Startup.cs,“配置”方法。

 app.UseCors("AllowAll");
 app.UseMvcWithDefaultRoute();

在我的控制器中,我使用了此

  [EnableCors("AllowAll")]
public class TestController : Controller
{
    [Route("cors")]       
    public string Test()
    {
        return "Ok";

    }
}

我在Firefox和Chrome上都遇到了CORS问题。

1 个答案:

答案 0 :(得分:0)

要使CORS正常工作,需要了解一件事: 访问控制允许来源

the documentation at MSDN

  

如果响应中不包含Access-Control-Allow-Origin   标头中,跨域请求失败。具体来说,浏览器   不允许该请求。即使服务器返回成功   响应,浏览器不会将响应提供给   客户端应用。

如果存在此标头,则通常您的配置应该可以工作。 您可以使用提琴手进行验证。

Chrome和Firefox中有一个“禁用相同来源”策略的选项。请refer this blog检查如何禁用它。

但是请注意,这会使您的浏览器容易受到攻击,建议您在开发期间使其正常运行,但在生产环境中完全不建议这样做。