如何解决为builder提供一系列起源.AddCors中的WithOrigins
我以为已经有了答案,但是找不到。
我的API服务器中有一个这样的CORS设置。
services.AddCors(options =>
{
options.AddDefaultPolicy(builder => {
builder.WithOrigins(AddCorsOrigin1LocalHost,AddCorsOrigin2ProductionSite,AddCorsOrigin3DevOrTestOrSomethingElseSite);
builder.AllowAnyMethod();
builder.AllowAnyHeader();
builder.AllowCredentials();
});
});
我正在使用本地字符串一个接一个地添加我想要的站点。只要我只有3个来源就可以使用。我可以随时更改原点。
但是,如果我有第4个或更多的起源,则必须添加一个新的本地字符串并在上面的代码块中对其进行更新。
我很好奇,无论如何,我可以简单地发送一个数组或列表的字符串集合。这样,当我不得不添加或删除原点时,我可以简单地操作字符串集合。
解决方法
您可以在appsettings.json中设置网站:
这是一个演示:
appsettings.json(我向其添加了Origins):
{
"Logging": {
"LogLevel": {
"Default": "Information","Microsoft": "Warning","Microsoft.Hosting.Lifetime": "Information"
}
},"AllowedHosts": "*","Origins": "http://example.com,http://www.contoso.com"
}
Startup.cs(将Origins
更改为字符串[]):
string[] s = Configuration["Origins"].Split(",");
services.AddCors(options =>
{
options.AddPolicy(name: MyAllowSpecificOrigins,builder =>
{
builder.WithOrigins(s);
});
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。