using Microsoft.Extensions.DependencyInjection; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WIDESEAWCS_Core.Helper; namespace WIDESEAWCS_Core.Extensions { /// /// Cors 跨域 /// public static class CorsSetup { /// /// 跨域 /// /// /// public static void AddCorsSetup(this IServiceCollection services) { if (services == null) throw new ArgumentNullException(nameof(services)); services.AddCors(c => { if (!AppSettings.app(new string[] { "Cors", "EnableAllIPs" }).ObjToBool()) { c.AddPolicy(AppSettings.app(new string[] {"Cors", "PolicyName" }), policy => { policy .WithOrigins(AppSettings.app(new string[] { "Cors", "IPs" }).Split(',')) .AllowAnyHeader()//Ensures that the policy allows any header. .AllowAnyMethod(); }); } else { //允许任意跨域请求 c.AddPolicy(AppSettings.app(new string[] { "Cors", "PolicyName" }), policy => { policy .SetIsOriginAllowed((host) => true) .AllowAnyMethod() .AllowAnyHeader() .AllowCredentials(); }); } }); } } }