【问题标题】:Allow Many Origins in EnableCors()在 EnableCors() 中允许多个来源
【发布时间】:2017-06-04 06:36:31
【问题描述】:

我有一个名为 GetNames 的带有 GET 方法的 MVC Web API。

当我想在另一个网站上从 AJAX 调用 myapi.com/controller/GetNames 时,我收到 Access-Control-Allow-Origin 错误。

所以在我的 MVC Web API 代码中,

我在我的 WebApiConfig 中添加了这个:

  config.EnableCors();

我将它添加到我的 Controller 方法中:

[HttpGet]
[EnableCors(origins: "http://mywebsite.net", headers: "*", methods: "*")]
public string GetNames(string requestKey)

如果很多网站都调用这个方法怎么办?

我想允许许多来源,如果我可以允许所有来源,而不仅仅是定义的来源,那就更好了。

【问题讨论】:

  • * 用于origins

标签: c# ajax asp.net-web-api cors


【解决方案1】:

来自EnableCorsAttribute上的文档:

origins:允许访问资源的来源的逗号分隔列表。使用“*”表示全部允许。

因此,对于来源列表,您的属性现在看起来像这样:

[EnableCors(origins: "http://site1.com,http://site2.com", headers: "*", methods: "*")]

或者这个适用于所有来源:

[EnableCors(origins: "*", headers: "*", methods: "*")]

【讨论】:

    猜你喜欢
    • 2015-07-16
    • 2022-07-07
    • 2010-12-11
    相关资源
    最近更新 更多