using Admin.Core.Common; using Microsoft.Extensions.DependencyInjection; using System; namespace Admin.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[] { "Startup", "Cors", "EnableAllIPs" }).ObjToBool()) { c.AddPolicy(Appsettings.app(new string[] { "Startup", "Cors", "PolicyName" }), policy => { policy .WithOrigins(Appsettings.app(new string[] { "Startup", "Cors", "IPs" }).Split(',')) .AllowAnyHeader()//Ensures that the policy allows any header. .AllowAnyMethod(); }); } else { //允许任意跨域请求 c.AddPolicy(Appsettings.app(new string[] { "Startup", "Cors", "PolicyName" }), policy => { policy .SetIsOriginAllowed((host) => true) .AllowAnyMethod() .AllowAnyHeader() .AllowCredentials(); }); } }); } } }