无法访问MVC 6 API

本文关键字:API MVC 访问 | 更新日期: 2023-09-27 18:20:52

我目前正在创建一个MVC 6项目(beta 8),其中包括一些API。除此之外,还有一个附带的Word应用程序,它可以与这些API对话(目前只有GET方法),但我所有的ajax从Word应用程序获取JSON请求都会导致"错误:访问被拒绝"消息

经过多次搜索,我认为这可能是CORS问题,所以我在startup.cs中通过在ConfigureServices中添加以下内容来启用它:

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

然后

app.UseCors("AllowAllOrigins");

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

[EnableCors("AllowAllOrigins")]

在行动上,但同样没有什么区别。

我在本地运行这两个项目,并通过浏览器手动导航到api,可以毫无问题地返回结果,就像我的虚张声势设置一样。

我是不是遗漏了一些显而易见的东西?

无法访问MVC 6 API

根据我的经验,当通过SSL连接时,一些浏览器不允许允许allow-origin的通配符响应(这是使用AllowAllOrigins时得到的)。如果您需要通过SSL进行通信,则需要使用允许的来源列表而不是通配符进行响应。

这个答案有一个很好的方法。