【问题标题】:Unable to access MVC 6 API无法访问 MVC 6 API
【发布时间】:2016-02-08 03:20:05
【问题描述】:

我目前正在创建一个包含一些 API 的 MVC 6 项目(beta 8)。除此之外,还有一个附带的 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 会毫无问题地返回结果,我的 swashbuckler 设置也是如此。

我在这里遗漏了什么明显的东西吗?

【问题讨论】:

  • 可能已经解决了这个问题。我的 MVC 应用程序作为 HTTP 运行,但 VS2015 中的默认办公应用程序项目是在启用 SSL 的情况下创建的。现在,在 office 应用上打开 SSL 可以让我毫无问题地连接。

标签: c# cors getjson asp.net-core-mvc


【解决方案1】:

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

This answer 有一个很好的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多