错误#2044:未处理的securityError:。 text =错误#2048:安全沙箱违规:

时间:2010-02-27 19:43:49

标签: xml flex actionscript-3 flash flex4

我创建了一个crosdomain策略文件,我已将代码添加到我的flex应用程序中,但仍然遇到安全沙箱违规...我做错了什么?以下是我的错误和文件摘要:

Error #2044: Unhandled securityError:. text=Error #2048: Security sandbox violation: http://mysite.com/folder1/folder2/media/swf_demo.swf cannot load data from http://mysite.com/folder1/folder2/media/locXML.xml.

swf_demo.swf is my flex application

我的flex应用程序中添加了以下行:

Security.allowDomain("mysite.com");
Security.allowDomain("www.mysite.com");
Security.allowDomain("http://mysite.com/folder1/folder2/media/locXML.xml");

在我的init()函数中,我的第一行是:

Security.loadPolicyFile("http://mysite.com/crossdomain.xml");

这是我的crossdomain.xml:

<?xml version="1.0" encoding="utf-8"?>
<cross-domain-policy>
<allow-access-from domain="www.mysite.com" secure="false"/>
</cross-domain-policy>

为什么会抛出这个错误?我必须做错事......

1 个答案:

答案 0 :(得分:1)

在跨域安全性方面,www.mysite.com和mysite.com是不同的网站。如果您的SWF与您的数据位于同一站点,那么您不需要crossdomain.xml策略。我建议将用户从mysite.com重定向到www.mysite.com,这样一切都将来自同一个站点,不需要任何策略文件。