ScriptResource.axd访问被拒绝。跨域iFrame

时间:2009-12-15 14:45:47

标签: asp.net iframe cookies cross-domain

我们有一个网页,其中包含一个iframe,其中包含一个与其父页面共享身份验证Cookie的页面。例如,iframe页面位于域foo.domain.com上,包含iframe的页面位于foo2.domain.com上。两者都共享来自domain.com的cookie。验证工作很好,但问题是IE7中的ASP.NET,我们总是得到一个javascript错误:

访问被拒绝。

的ScriptResource.axd

我们使用的是ASP.NET 3.5,我们也使用Ajax Control Toolkit(最新版本3.0.30930.0)。 IE8不会出现此问题。 Firefox和Chrome也没问题。

之前有人遇到过这个问题吗?

2 个答案:

答案 0 :(得分:1)

如果存在DNS重定向,IE7可能会出现问题,例如如果http://site.domain.com确实是http://www.domain.com/site,则透明DNS重定向在IE7中存在问题,但与您提及的其他浏览器不同。 IE7将其视为跨域脚本并阻止......您只是被拒绝访问。

是这种情况,还是类似于重定向或不同的域?如果你可以测试主页只是domain.com/你得到错误? IE7以不同于兄弟姐妹的方式对待孩子。

答案 1 :(得分:0)

在JavaScript中,您可能需要更改文档域。 IE7可能会一直在查看域到服务器级别:foo.domain.com!= foo2.domain.com。 IE8等可能以* .domain.com的面值取得文档域。

以下是一篇关于它的快速相关博客文章:http://jszen.blogspot.com/2005/03/cross-domain-security-woes.html

要复制代码,将以下内容添加到两个页面应该会再次滚动。

<script type="text/javascript">
  document.domain="example.com";
</script>