如何在ASP.NET Core中启用CORS

如何在ASP.NET Core中启用CORS

我试图在我的ASP.NET核心Web API上启用跨源资源共享,但我被困住了。


该EnableCors属性接受policyName类型string为参数:


// 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);

这policyName意味着什么以及如何在ASP.NET Core Web API上配置CORS?


慕村225694
浏览 1607回答 3
3回答

当年话下

您必须在ConfigureServices方法中的应用程序启动时配置CORS策略:public void ConfigureServices(IServiceCollection services){     services.AddCors(o => o.AddPolicy("MyPolicy", builder =>     {         builder.AllowAnyOrigin()                .AllowAnyMethod()                .AllowAnyHeader();     }));     // ...}将CorsPolicyBuilder在builder允许您配置的策略,以您的需求。您现在可以使用此名称将策略应用于控制器和操作:[EnableCors("MyPolicy")]或者将其应用于每个请求:public void Configure(IApplicationBuilder app){     app.UseCors("MyPolicy");     // ...}

繁星coding

基于Henk的回答,我已经能够提出特定的域,我想要允许的方法以及我想要启用CORS的头:public void ConfigureServices(IServiceCollection services){     services.AddCors(options =>          options.AddPolicy("AllowSpecific", p => p.WithOrigins("http://localhost:1233")                                                    .WithMethods("GET")                                                    .WithHeaders("name")));     services.AddMvc();}用法:[EnableCors("AllowSpecific")]
打开App,查看更多内容
随时随地看视频慕课网APP