3 回答
TA贡献1936条经验 获得超6个赞
在ConfigureServices中添加 services.AddCors(); BEFORE services.AddMvc();。
在配置中添加UseCors
app.UseCors(builder => builder
.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
app.UseMvc();
要点是app.UseCors在之前添加app.UseMvc()。
确保在MVC之前声明CORS功能,以便在MVC管道获得控制并终止请求之前触发中间件。
完成上述方法后,您可以对其进行更改,将其配置为特定的起源以接受api调用,并避免让您的API向任何人开放
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options => options.AddPolicy("ApiCorsPolicy", builder =>
{
builder.WithOrigins("http://localhost:4200").AllowAnyMethod().AllowAnyHeader();
}));
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}
在configure方法中,告诉CORS使用您刚创建的策略:
app.UseCors("ApiCorsPolicy");
app.UseMvc();
我刚刚找到了该主题的紧凑文章-https: //dzone.com/articles/cors-in-net-core-net-core-security-part-vi
- 3 回答
- 0 关注
- 1007 浏览
添加回答
举报