2009-12-15 109 views
4

我們有含含頁面共享一個認證的cookie與它的父頁面的iframe的網頁。例如,iframe頁面位於域foo.domain.com上,並且包含iframe的頁面位於foo2.domain.com上。兩者都從domain.com共享cookie。身份認證的偉大工程,但問題是與ASP.NET在IE7中,我們總是得到一個JavaScript錯誤:ScriptResource.axd訪問被拒絕。跨域iframe

訪問被拒絕。

的ScriptResource.axd

我們使用ASP.NET 3.5中,我們使用Ajax控件工具包也(最新版本3.0.30930.0)。這個問題不會發生在IE8上。 Firefox和Chrome也沒有問題。

任何人都遇到過這個問題之前?

回答

1

如果有一個DNS重定向IE7可以有問題,例如如果http://site.domain.com確實是http://www.domain.com/site,則透明DNS重定向在IE7中存在問題,但不包括您提到的其他瀏覽器。 IE7將其視爲跨域腳本並阻止...您只能獲得拒絕訪問。

這種情況下,或重定向或不同的域相似的地方?如果你可以測試主頁面只是domain.com/你會得到錯誤? IE7對待孩子的方式不同於兄弟姐妹。

+0

是的,聽起來像xdomain問題。 –

+1

我有同樣的問題,有沒有更改源應用程序代碼的快速解決方案? ...像一些IIS配置或其他? –

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>