在 EnableCors() 中允许多个来源
Posted
技术标签:
【中文标题】在 EnableCors() 中允许多个来源【英文标题】:Allow Many Origins in 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
。
【参考方案1】:
来自EnableCorsAttribute
上的文档:
origins:允许访问资源的来源的逗号分隔列表。使用“*”表示全部允许。
因此,对于来源列表,您的属性现在看起来像这样:
[EnableCors(origins: "http://site1.com,http://site2.com", headers: "*", methods: "*")]
或者这个适用于所有来源:
[EnableCors(origins: "*", headers: "*", methods: "*")]
【讨论】:
以上是关于在 EnableCors() 中允许多个来源的主要内容,如果未能解决你的问题,请参考以下文章