第一步:配置Program.cs,注册跨域服务
builder.Services.AddCors(options => //添加中间件跨域服务
{
options.AddPolicy("cors", p =>//添加策略,可以添加多种
{
//如果是允许指定的域、方法、消息头需要使用WithOrigins、WithMethods、WithHeaders方法。
p.AllowAnyOrigin()//允许可以,参数可以给ip,不给表示允许所有
.AllowAnyMethod() //允许所有方法
.AllowAnyHeader();//请求头
});
});
方案二:允许指定的域名跨域
builder.Services.AddCors(delegate (CorsOptions options)
{
options.AddPolicy("CorsPolicy", delegate (CorsPolicyBuilder corsBuilder)
{
//指定url跨域
corsBuilder.WithOrigins(builder.Configuration.GetValue<string>("Cors").Split(','));
//默认跨域
corsBuilder.SetIsOriginAllowed((string _) => true).AllowAnyMethod().AllowAnyHeader()
.AllowCredentials();
});
});
第二步:启用跨域服务,必须放跳转:app.UseHttpsRedirection();的后面
//启用策略中间件管道
app.UseCors("cors");