为了账号安全,请及时绑定邮箱和手机立即绑定

未启用 ASP.NET Core 2 CORS

未启用 ASP.NET Core 2 CORS

C#
慕神8447489 2021-12-05 16:49:07
我正在为 Web 服务开发基于 Angular 6 客户端和 ASP.NET Core WebAPI 的 Web 应用程序。目前(初始开发阶段)我有一个简单的架构,它由两个 Web 服务组成,一个管理身份验证和身份,另一个保存应用逻辑(业务逻辑、更新数据库等)。我正在使用 JWT Bearer 令牌进行客户端身份验证。我的身份验证服务一切正常,但是当我尝试调用应用程序服务时,我在 Chrome 浏览器控制台中收到此错误:无法加载http://localhost:59207/api/Files/Upload:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问源 ' http://localhost:4200 '。响应的 HTTP 状态代码为 500。此错误之前是另一个错误:POST http://localhost:59207/api/Files/Upload 500(内部服务器错误)在某种程度上,我得到的第二个错误是否与它之前的内部服务器错误有关?我测试了来自 Postman 的 POST 调用,一切正常,没有服务器端错误,并且返回了我想要从我的服务中返回的数据。我已经在 ASP.NET Core 中放置了我所知道的关于 CORS 的所有内容。名为“ConfigureServices”的启动类方法包含,作为第一行:        services.AddCors(options =>        {            options.AddPolicy("AllowAll",                builder =>                {                    builder                    .AllowAnyOrigin()                    .AllowAnyMethod()                    .AllowAnyHeader()                    .AllowCredentials();                });        });然后在“配置”方法中调用它:app.UseCors("AllowAll");此外,我将 EnableCors 属性放在每个控制器类上,如下所示:[EnableCors("AllowAll")]任何人都知道我如何摆脱这种混乱?据我所知,这就是 CORS 的使用方式,我已经让它在其他项目上以这种方式运行(但从未在 ASP.NET Core 2 中运行)。
查看完整描述

1 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

这可能不是您的情况的答案,但我过去经常遇到这个问题。根据请求Chrome在两个localhosts之间交谈时,这是一个问题POST

尝试使用其他浏览器,看看它是否有效;如果是这样,您可以Chrome通过禁用继续使用Security

chrome.exe --user-data-dir="C://Chrome dev session" --disable-web-security

希望这可以帮助。


查看完整回答
反对 回复 2021-12-05
  • 1 回答
  • 0 关注
  • 151 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信