CORS在ASP.NET-Core-Application中不起作用

时间:2019-07-23 06:57:15

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

我想向我的web-odataAPi应用程序添加一个策略,以仅允许来自一个地址的通信。

在我的理解中,启动中的内容如下:

services.AddCors(options =>
            {
                options.AddPolicy(
                    "AllowSpecificOrigins",
                    co => co
                                    .WithOrigins("https://localhost:3000/")
                                    .AllowAnyHeader()
                                    .WithMethods()
                                    .AllowCredentials());

                options.DefaultPolicyName = "AllowSpecificOrigins";
            });


在配置中:

app.UseCors("AllowSpecificOrigins");

在“获取路线”上方,我执行以下操作:

[EnableCors("AllowSpecificOrigins")]

当我通过邮递员,Firefox和Chrome通过https://localhost:5000String运行此请求时,即使我理解,它也只能以localhost:3000的形式工作,对吧?

1 个答案:

答案 0 :(得分:2)

浏览器安全性阻止网页向与服务该网页的域不同的域发出请求。此限制称为同源策略。同源策略可防止恶意站点从另一个站点读取敏感数据。有时,您可能希望允许其他网站向您的应用发出跨域请求。有关更多信息,请参见Mozilla CORS article

CORS不是安全功能,CORS放宽了安全性。通过允许CORS, API 并不安全。有关更多信息,请参见How CORS works