gpt4 book ai didi

asp.net - CORS 错误 - 请求的资源上不存在 'Access-Control-Allow-Origin' header

转载 作者:行者123 更新时间:2023-12-04 08:34:48 28 4
gpt4 key购买 nike

我正在使用 Angular 前端连接到 WEB API 2 后端。失败的用例如下。当用户注册时,成功注册后,他们必须登录系统并重定向到新页面以收集更多信息。我正在使用 token 进行身份验证。

我在 WebAPI 配置中启用了 CORS:

 var cors = new EnableCorsAttribute("http://localhost:7812", "*", "*");
config.EnableCors(cors);

注册请求成功并且响应 header 具有所需的 CORS header :
**Access-Control-Allow-Credentials:true
Access-Control-Allow-Origin:http://localhost:7812**
Content-Length:0
Date:Sun, 24 Aug 2014 09:31:55 GMT
Server:Microsoft-IIS/8.0
X-Powered-By:ASP.NET
X-SourceFiles:=?UTF-8?B?QzpcUHJvamVjdHNcVGVzdGluZ1xNYWx0QXBhcnRtZW50c1xNYWx0YXBhcnRtZW50cy5BUElcTWFsdGFwYXJ0bWVudHMuQVBJXGFwaVxhY2NvdW50XHJlZ2lzdGVy?=

在下一步中,我尝试将用户登录到系统。作为登录的一部分,前端从位于 Request URL:http://localhost:7802/token 的服务器请求 TOKEN。 .请求头再次发送一个 Origin 头 Origin:http://localhost:7812但这次我收到错误: XMLHttpRequest cannot load http://localhost:7802/token. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:7812' is therefore not allowed access.
谁有想法?

最佳答案

在处理 CORS 时,我们需要记住,对于一个非 GET 请求,浏览器可能会发送两个请求。通常有预检 (OPTIONS) 请求,然后是实际请求 (POST)。在预检请求期间,服务器需要添加 访问控制允许来源 具有与请求匹配的值的 header 产地标题。这将授权发送后续请求。

对于后续/实际请求,服务器还需要添加访问控制允许来源 标题。否则,此请求失败。

使用OWIN OAuthAuthorizationServerProvider时,我们需要自定义匹配端点 处理头逻辑。此处理程序在验证客户端身份验证之前执行。

有关更多背景信息,请查看此链接:http://www.ozkary.com/2016/04/web-api-owin-cors-handling-no-access.html

关于asp.net - CORS 错误 - 请求的资源上不存在 'Access-Control-Allow-Origin' header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25470755/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com