这是一些跨域问题吗?

时间:2016-06-29 00:29:50

标签: javascript asp.net json cross-domain

我不是小提琴手的专家,但试图弄清楚我的配置有什么问题。 我在域example.com上有一个网站,我在另一个网站上的iframe上托管,该网站在域example.org上。

example.com具有登录控件,并且在成功验证后,我必须打开一个新选项卡。 Chrome和Firefox工作正常,但IE的行为就像我在点击登录时单击了刷新按钮一样。

与Fiddler追踪,但我不确定我应该寻找什么,请帮助。

请求标题:

POST https://example.com/Login/VerifyUserDetails HTTP/1.1 Accept: application/json, text/javascript, */*; q=0.01 Content-Type: application/json X-Requested-With: XMLHttpRequest Referer: https://example.com/ Accept-Language: en-US Accept-Encoding: gzip, deflate User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko Host: example.com Content-Length: 37 DNT: 1 Connection: Keep-Alive Cache-Control: no-cache

{"userEmail":"abc@gmail.com"}

响应标题:

HTTP/1.1 200 OK Cache-Control: public, no-store, max-age=0 Content-Length: 65 Content-Type: application/json; charset=utf-8 Expires: Wed, 29 Jun 2016 00:07:28 GMT Last-Modified: Wed, 29 Jun 2016 00:07:28 GMT Vary: * Server: Microsoft-IIS/7.5 X-UA-Compatible: IE=Edge X-XSS-Protection: 1; mode=block X-Content-Type-Options: nosniff Content-Security-Policy: frame-ancestors 'self' https://example.org*.example.com *.example.org; X-Powered-By: ARR/2.5 X-Powered-By: ASP.NET Date: Wed, 29 Jun 2016 00:07:38 GMT

{"IsADUser":false,"IsActiveUser":false,"PasswordSetError":""}

请指导。

虽然我认为有这方面专业知识的人可能会觉得这很有意思,认证后的下一次调用是重定向,我在下面看到回复:

<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="/">here</a>.</h2>
</body></html>

2 个答案:

答案 0 :(得分:1)

原来我需要在IE信任网站的iframe中添加我托管的域名。有用。 :)所以,这不是一个跨域脚本问题,我正在使用w3c推荐的内容安全策略。

答案 1 :(得分:0)

只是添加它,我不得不在网站上添加p3p政策。我在我的IE可信站点列表中有域名,所以它适用于我上面的解决方案。但是,一个外部用户在白名单中没有我们的域名,他一直收到401错误。 我搜索了很多,并且必须添加一个有效的p3p令牌才能工作。不是任何p3p政策,而是一个有效的政策,不像我在网上找到的其他建议。