ASP.NET Core CORS合并策略;控制器与中间件配置中的enablecors

时间:2019-07-30 08:49:30

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

我正在研究ASP.NET Core项目,并且想在我的应用程序中启用CORS。我从ASP.NET Core documentation开始,我很困惑为什么我们不能将两种方法结合在一起,如下所示:

  

您可以使用[EnableCors]属性将不同的策略应用于控制器/页面模型/操作。当将[EnableCors]属性应用于控制器/页面模型/操作方法,并且在中间件中启用了CORS时,将同时应用两个策略。我们建议您不要合并政策。使用[EnableCors]属性或中间件,不能同时在同一应用中使用。

1 个答案:

答案 0 :(得分:1)

为什么要呢? 结果是:启用CORS或不启用(针对一种资源)。

您可以通过在控制器/操作方法上使用属性语法([EnableCors])来执行此操作,也可以像在示例中那样使用fluent-api-design

services.AddCors(options => options...);

但是您仍然可以以一种或另一种方式为指定资源启用或不启用CORS。 选择哪一个无关紧要,取决于您的应用程序。

Microsoft一次反对这两种方法的建议是因为这是多余的,并且可能会引起混乱。