我有一台Apache服务器,可以为两个虚拟主机https://www.domain01.com和https://www.domain02.com提供服务。配置Apache以使domain01和domain02的“Document Root”与服务器上的目录相同。因此,在此配置中,这两个域都提供相同的网站和SAME flex app .swf文件。
此Flex应用程序预先通过https远程处理来访问https://www.domain01.com中的数据。
从https://www.domain01.com加载应用时,该应用的远程处理功能运行良好。但是,从https://www.domain02.com加载应用时,应用的远程处理功能会失败。
我有一个跨域文件,它显示在本文末尾。
当从domain01或domain02加载应用程序时,如何让远程处理始终有效?
<?xml version="1.0"?>`
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">`
<cross-domain-policy>`
<allow-access-from domain="*" secure="false"/>`
<allow-http-request-headers-from domain="*" headers="*" secure="false" />`
</cross-domain-policy>`
答案 0 :(得分:0)
我明白了。我有远程服务调用domain01.com,我将以下代码添加到我的flex应用程序
Security.allowDomain( "www.domain02.com" );
Security.loadPolicyFile( "domain02.com/crossdomain.xml" );
var request:URLRequest = new URLRequest( "domain02.com/crossdomain.xml" );
var loader:URLLoader = new URLLoader();
loader.load( request );