.NetCore3.1中的WebApi如何配置跨域

写法 一:

1. 打开Startup.cs,定义静态变量Any,用以配置跨域。

private readonly string Any = "Any";

2. 在ConfigureServices中添加以下代码:

services.AddCors(m => m.AddPolicy(Any, a => a.SetIsOriginAllowed(_ => true).AllowAnyMethod().AllowAnyHeader().AllowCredentials()));

3. 在Configure方法中添加一下代码:

app.UseCors(Any);

注意:

app.UseCors(Any) 必须在 app.UseRouting() app.UseEndpoints() 之间。如果存在 app.UseAuthentication()app.UseAuthorization() 则五者的顺序应当为:

app.UseRouting()

app.UseCors(Any)

app.UseAuthentication()

app.UseAuthorization()

app.UseEndpoints()

写法二(跟方法一差不多):

1. 不用在Startup.cs中定义变量,在ConfigureServices中添加以下代码:

services.AddCors(m => m.AddPolicy("Any", a => a.SetIsOriginAllowed(_ => true).AllowAnyMethod().AllowAnyHeader().AllowCredentials()));

2. 在Configure方法中添加一下代码:

app.UseCors();

3. 在Controller中加入属性 [EnableCors("Any")]

原文地址:https://www.cnblogs.com/w821759016/p/13040663.html