1.安裝程序CORS程序包
Install-Package Microsoft.AspNetCore.Mvc.Cors
一般默認都帶了此程序包的
2.配置CORS服務
在 Startup
類,ConfigureServices
方法里,添加如下代碼:
services.AddCors(option=>option.AddPolicy("cors", policy => policy.AllowAnyHeader().AllowAnyMethod().AllowCredentials().AllowAnyOrigin()));
策略名稱可以自定義
請一定注意看以下內容:
新版的CORS中間件已經阻止使用允許任意Origin,即 AllowAnyOrigin
設置了也不會生效,詳情如下:
解決辦法:使用 WithOrigins
來設置 Origin
例子:
policy.AllowAnyHeader().AllowAnyMethod().AllowCredentials().WithOrigins(new []{"http://xxx.xxx.com"});
3.配置CORS中間件
在 Startup
類,Configure
方法里,添加如下代碼:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseCors("cors");
app.UseMvc();
}
主要是 app.UseCors("cors");
這句代碼,需要注意的是必須放在 UseMvc
之前,且策略名稱必須是已經定義的。