52ky 发表于 2022-5-6 16:00:36

如何在 ASP.NET Core 中启用 CORS

问题
我试图在我的 ASP.NET Core Web API 上启用跨域资源共享,但我卡住了。

EnableCors 属性接受类型为 policyName 的字符串作为参数:
// Summary:
//   Creates a new instance of the Microsoft.AspNetCore.Cors.Core.EnableCorsAttribute.
//
// Parameters:
//   policyName:
//   The name of the policy to be applied.
public EnableCorsAttribute(string policyName);
政策名称是什么意思?如何在 ASP.NET Core Web API 上配置 CORS?

回答
CORS 策略必须在应用程序启动时在 ConfigureServices 方法中配置:
public void ConfigureServices(IServiceCollection services)
{
    services.AddCors(o => o.AddPolicy("MyPolicy", builder =>
    {
      builder.AllowAnyOrigin()
               .AllowAnyMethod()
               .AllowAnyHeader();
    }));

    // ...
}
CorsPolicyBuilder 中的构建器允许您根据需要配置策略。该策略现在可以使用此名称应用于控制器和操作:



或将其应用于每个请求:
public void Configure(IApplicationBuilder app)
{
    app.UseCors("MyPolicy");

    // ...

    // This should always be called last to ensure that
    // middleware is registered in the correct order.
    app.UseMvc();
}



页: [1]
查看完整版本: 如何在 ASP.NET Core 中启用 CORS