繁体   English   中英

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

[英]Cannot enable CORS in 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问题。

为了使CORS工作,需要了解一件事:Access-Control-Allow-Origin

MSDN的文档中

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

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

chrome和firefox中有一个“禁用相同来源”策略的选项。 参考此博客以查看如何禁用它。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM