加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – CORS错误 – 请求的资源上没有“Access-Control-Allo

发布时间:2020-12-16 04:30:16 所属栏目:asp.Net 来源:网络整理
导读:我使用Angular前端连接到WEB API 2后端.失败的用例如下.当用户注册成功注册后,他们必须登录系统并重定向到新页面以收集更多信息.我正在使用TOKENS进行身份验证. 我在WebAPI配置中启用了CORS: var cors = new EnableCorsAttribute("http://localhost:7812","
我使用Angular前端连接到WEB API 2后端.失败的用例如下.当用户注册成功注册后,他们必须登录系统并重定向到新页面以收集更多信息.我正在使用TOKENS进行身份验证.

我在WebAPI配置中启用了CORS:

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

注册请求成功,响应头具有所需的CORS头:

**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?=

在下一步中,我尝试将用户登录到系统.作为登录的一部分,前端通过请求URL从服务器请求TOKEN:http:// localhost:7802 / token.请求头再次发送一个Origin头Origin:http:// localhost:7812但这次我得到错误:XMLHttpRequest无法加载http:// localhost:7802 / token.请求的资源上不存在“Access-Control-Allow-Origin”标头.因此不允许Origin’http:// localhost:7812’访问.

有人有主意吗?

解决方法

在处理CORS时,我们需要记住,浏览器可能会针对非GET请求发送两个请求.通常有预检(OPTIONS)请求,然后是实际请求(POST).在预检请求期间,服务器需要添加Access-Control-Allow-Origin标头,其值与请求Origin标头匹配.这授权发送后续请求.

对于后续/实际请求,服务器还需要添加Access-Control-Allow-Origin标头.否则,此请求失败.

使用OWIN OAuthAuthorizationServerProvider时,我们需要自定义MatchEndpoint处理程序来管理标头逻辑.此处理程序在验证客户端身份验证之前执

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读