asp.net – CORS错误 – 请求的资源上没有“Access-Control-Allo
我使用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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net会员 – 自动生成的密钥不支持散列或加密的密码
- asp.net – 新的dotnet核心项目无法恢复
- asp.net-mvc – 实体框架删除记录
- asp.net – 是否有可能告诉IIS 7并行处理请求队列?
- application_start意外触发了asp.net
- asp.net-mvc – 为什么MVC4捆绑捆绑Knockout.js?
- 在ASP.NET MVC 3中可以使用甜甜圈缓存
- asp.net – Dotnet核心2.0认证多个模式身份cookie和jwt
- asp.net – Visual Studio在记事本中打开网页
- 有没有人使用ASP.net(webforms)动态生成javascript和/或css