0

我在域http://domain1.com/myroot/的 swf 应用程序必须使用来自域http://domain2.com/myroot2/的资源

当 swf 尝试从辅助域访问资源时,它会收到 SecurityError:

错误 #2048:违反安全沙箱。

这似乎是因为我的应用程序默认尝试加载 crossdomain.xml(来自 http:/domain2.com/crossdomain.xml)。

我的问题是我无权访问 domain2.com 根目录来将文件 crossdomain.xml 放在那里。我只能把它放在 http://domain2.com/myroot2/ 目录中。

我的问题是:如何强制我的 swf 应用程序在 http://domain2.com/myroot2/ 中搜索 crossdomain.xml?

PS Security.loadPolicyFile(" http://domain2.com/myroot2/crossdomain.xml ") 不起作用,因为默认使用元策略“master-only”,这使得忽略所有 Security.loadPolicyFile 用法。

4

2 回答 2

0

loadPolicyFile 应该这样做

Security.allowDomain( 'http://domain2.com' );
Security.loadPolicyFile( 'http://domain2.com/myroot2/pf.xml' );
于 2011-06-15T16:20:35.790 回答
0

Flash 的新沙盒安全要求您始终在服务器的根目录上拥有一个跨域策略文件。如果要将跨域文件放在子目录中,则根的主跨域文件必须在服务器上允许该文件。

于 2011-06-15T16:39:54.237 回答