我正在将 .net 4.5.2 项目更新为 .Net 核心 web api。现在,Cors 根据 appSetting 值设置如下CorsAllowAll:
if ((ConfigurationManager.AppSettings["CorsAllowAll"] ?? "false") == "true")
{
appBuilder.UseCors(CorsOptions.AllowAll);
}
else
{
ConfigureCors(appBuilder);
}
private void ConfigureCors(IAppBuilder appBuilder)
{
appBuilder.UseCors(new CorsOptions
{
PolicyProvider = new CorsPolicyProvider
{
PolicyResolver = context =>
{
var policy = new CorsPolicy();
policy.Headers.Add("Content-Type");
policy.Headers.Add("Accept");
policy.Headers.Add("Auth-Token");
policy.Methods.Add("GET");
policy.Methods.Add("POST");
policy.Methods.Add("PUT");
policy.Methods.Add("DELETE");
policy.SupportsCredentials = true;
policy.PreflightMaxAge = 1728000;
policy.AllowAnyOrigin = true;
return Task.FromResult(policy);
}
}
});
}
如何在 .net core 中实现相同的目标?不幸的是,我不会知道每个环境的 URL。但我知道对于本地、DEV 和 QA 环境,appSettingCorsAllowAll是真的。但是在 UAT 和 PROD 环境中它会是假的。
更新 我的 appSettings.json 如下所示:
"AppSettings": {
...
"CorsAllowAll": true
...
}
慕工程0101907
相关分类