我有一个C#Web-API,在Application_Start()我配置路由,格式化程序和cors域。 我的问题是,基于请求源,我必须向cors-domains添加更多域。 (例如,如果请求来自123.com,则有来自asd.com的mor cors域名) 我想在Application_BeginRequest中添加额外的cors-domains:
void Application_BeginRequest(Object source, EventArgs e)
{
HttpApplication app = (HttpApplication)source;
HttpContext context = app.Context;
// Attempt to peform first request initialization
FirstRequestInitialization.Initialize(context);
var corsDomains = Settings.Default.CORS_Domains;
if (originheader.equals("somevalue"))
{
corsDomains += ", " + Settings.Default.CORS_SomeValue_Domains;
}
var cors = new EnableCorsAttribute(corsDomains, "*", "*")
{
SupportsCredentials = true
};
HttpConfiguration config = //where to get config?
config.EnableCors(cors);
}
有没有办法检索和更改配置? 非常感谢你的帮助。
编辑: 也许一个例子可以澄清我需要的东西:
请求来自asdf.org: cors-domains应该是:base.com,home.org,jkl.net(但不是qwer.com)
请求来自test.com: cors-domains应该是:base.com,home.org,qwer.com(但不是jkl.net)
在Settings.Default中,我有多个列表:
CORS_BASE:base.com,home.org
CORS_ASDF:jkl.net
CORS_TEST:qwer.com
如何根据请求的来源将其他列表添加到cors域?