/***********************************************************************
|
* Project: baifenBinfa.Net *
|
* Web: https://baifenBinfa.com *
|
* ProjectName: 百分兵法管理系统 *
|
* Author: *
|
* Email: *
|
* Versions: 1.0 *
|
* CreateTime: 2020-02-03 22:49:41
|
* NameSpace: CoreCms.Net.Framework
|
* FileName: Cors
|
* ClassDescription:
|
***********************************************************************/
|
|
|
using System;
|
using CoreCms.Net.Configuration;
|
using CoreCms.Net.Utility.Extensions;
|
using Microsoft.Extensions.DependencyInjection;
|
|
namespace CoreCms.Net.Core.Config
|
{
|
/// <summary>
|
/// 配置跨域(CORS)
|
/// </summary>
|
public static class CorsSetup
|
{
|
public static void AddCorsSetup(this IServiceCollection services)
|
{
|
if (services == null) throw new ArgumentNullException(nameof(services));
|
services.AddCors(c =>
|
{
|
if (!AppSettingsConstVars.CorsEnableAllIPs)
|
{
|
c.AddPolicy(AppSettingsConstVars.CorsPolicyName, policy =>
|
{
|
policy.WithOrigins(AppSettingsConstVars.CorsIPs.Split(','));
|
//policy.AllowAnyOrigin();
|
policy.AllowAnyHeader();
|
policy.AllowAnyMethod();
|
policy.AllowCredentials();
|
});
|
}
|
else
|
{
|
//允许任意跨域请求
|
c.AddPolicy(AppSettingsConstVars.CorsPolicyName, policy =>
|
{
|
policy.SetIsOriginAllowed((host) => true)
|
.AllowAnyMethod()
|
.AllowAnyHeader()
|
.AllowCredentials();
|
});
|
}
|
});
|
}
|
}
|
}
|