恼人的错误#2048:来自localhost的安全沙箱违规

时间:2013-06-28 12:05:38

标签: asp.net-mvc actionscript-3 flash flex crossdomain.xml

这是我放在我的Web.config的同一个文件夹中的crossdomain.xml:

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <site-control permitted-cross-domain-policies="all"/>
    <allow-access-from domain="*" secure="false" />
    <allow-http-request-headers-from domain="*" headers="*" />
</cross-domain-policy>

虽然我可以使用Security.loadPolicyFile("http://localhost:52090/crossdomain.xml")加载。

当我的瑞士法郎尝试与我的本地网站(asp.net mvc)通信时,它说:

  

错误#2048:安全沙箱冲突:http://localhost:52090/Content/Swf/MyApp.swf无法从localhost加载数据:52090

我该如何解决?

2 个答案:

答案 0 :(得分:2)

由于您使用基于as3httpclientlib的{​​{1}},而不是Socket,您应该设置套接字策略服务器而不是http 1(因此您的URLLoader不会被使用在这种情况下闪现)。

要设置Flash策略服务器,您可以使用本文http://www.adobe.com/devnet/flashplayer/articles/socket_policy_files.html中的perl脚本和@Bart Friederichs建议的策略xml(带crossdomain.xml属性)

答案 1 :(得分:1)

试试这个:

<?xml version="1.0"?>
<cross-domain-policy>
  <site-control permitted-cross-domain-policies="all"/>
  <allow-access-from domain="*" to-ports="*" />
</cross-domain-policy>

另外,如果您自己发送,请务必最后send a null-character