1

我有一个 C# Web-API,在 Application_Start() 我配置了路由、格式化程序和 cors 域。我的问题是,基于请求来源,我必须向 cors-domains 添加更多域。(例如,如果请求来自 123.com,则 mor cors 域比来自 asd.com 的域)我想在 Application_BeginRequest 中添加额外的 cors 域:

    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 域?

4

0 回答 0