无法访问MVC 6 API

问题描述:

我目前正在创建一个包含一些API的MVC 6项目(beta 8)。除此之外,还有一个与这些API交流的附带Word应用程序(目前只是GET方法),但是,所有ajax从Word应用程序获取JSON请求都会导致“错误:访问被拒绝”。信息。无法访问MVC 6 API

一番搜索后,我认为这可能是一个CORS的问题,所以我在startup.cs通过添加启用此以下为ConfigureServices:

services.AddCors(options => 
     { 
      options.AddPolicy("AllowAllOrigins", builder => builder.AllowAnyOrigin()); 
     }); 

然后

app.UseCors("AllowAllOrigins"); 

成配置,但这没有什么区别,我仍然只是收到访问被拒绝的消息。我已经尝试调整我的CORS选项,允许所有方法和尝试了各种其他选项,包括添加

[EnableCors("AllowAllOrigins")] 
上的动作

,但同样它没有什么区别。

我在本地运行这两个项目,并通过浏览器手动导航到api,返回结果没有问题,就像我的swashbuckler安装程序一样。

我在这里错过了一些明显的东西吗?

+0

可能已经解决了这个问题。我的MVC应用程序以HTTP身份运行,但VS2015中的默认Office应用程序项目是在启用SSL的情况下创建的。现在办公室应用程序中的SSL转向允许我连接而不会出现问题。 –

根据我的经验,有些浏览器在通过SSL连接时(这是使用AllowAllOrigins时得到的)不允许通配符响应允许来源。如果您需要流量通过SSL,则需要使用允许的来源列表而不是通配符进行回复。

This answer有一个很好的方法。