最近在项目中遇到flex跨域访问的安全沙箱问题,查资料了解到需要在服务端加上crossdomain.xml文件,即:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <allow-access-from domain="*"/>
  <allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>

但对于具体存放在web服务的那个目录下,一直困惑不已,最终发现,这需存放在你服务器的默认站点目录下,一般情况下,目录站点都是Root;tomcat中存放在

webapps/ROOT/ 下,即所谓的根目录;jboss存放目录也很类似,也是放在默认站点root目录下,以我机器为例,存放在:C:\jboss-4.0.5.GA\server\default\deploy\jbossweb-tomcat55.sar\ROOT.war中的Root.war中;

倘若你的tomcat 或者jboss中没有默认站点Root,那crossdomain.xml需要放在哪里呢?

两种处理办法:1.拷贝一个Root站点到你的tomcat或者jboss中,再在其中加入crossdomain.xml;

2.如果你的tomcat或者jboss的默认站点已经设置成了其他的应用,则你需要将crossdomain.xml放置到这些个具体的默认站点中去;

一言以蔽之,crossdomain.xml需要存放在你默认站点的根目录下,检验你的crossdomain.xml是否放置正确,你可以通过用http://domainname/crossdomain.xml这种方式访问即可(切记不要加应用名),以我机器为例:

http://127.0.0.1:8080/crossdomain.xml,如果可以访问到到该xml 就可以了。

当然在这个过程中我不得不再提醒你一个很值得你注意的地方:在做所有工作之前请把你的浏览器缓存clear掉,因为我在实践当中该死的缓存几乎差点让我怀疑自己,差点让我不知所措!

ps: adobe默认的策略文件还提供了另一种访问机制,即他可以用Security.loadPolicyFile方法加载指定目录下的crossdomain,但是在某个版本后,就要求在服务器根目录下必须有crossdomain文件了,官方文档解释如下: 
SWF 文件可以通过调用 Security.loadPolicyFile() 方法检索其它策略文件名或其它目录位置。但是,如果主策略文件未指定目标位置能提供策略文件,则调用loadPolicyFile() 无效,即使该位置有策略文件。 
http://help.adobe.com/zh_CN/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7e08.html

因此,如果你的站点访问存在安全沙箱问题,无论如何你的默认站点下都需要放置crossdomain.xml

关于flex的crossdomain.xml文件存放目录的更多相关文章

  1. 跨域策略文件crossdomain.xml文件

    使用crossdomain.xml让Flash可以跨域传输数据 一.crossdomain.xml文件的作用    跨域,顾名思义就是需要的资源不在自己的域服务器上,需要访问其他域服务器.跨域策略文件 ...

  2. 关于跨域策略文件crossdomain.xml文件--配置实例

    转载自:http://bbs.phpchina.com/blog-52440-191623.html 我一直不太明白crossdomain.xml文件是干嘛用的,今天总算比较清楚的知道了一下. 这是F ...

  3. 关于跨域策略文件crossdomain.xml文件

    下载flexpaper源码修改后做成swf阅读器,要加入待阅读的swf文件,可以在flex里调用js的方法来获取swf文件的路径的方法,在js只专注获取路径就行,等着flex来调用:但这里会遇到一个问 ...

  4. red5 自定义文件存放目录

    Red5 流媒体服务器 自定义文件存放目录 Red5在正常情况下,安装之后文件必须存放在Red5安装目录下的oflaDemo\streams中,不能自定义存放目录,例如Red5 安装在C盘,但是我的文 ...

  5. UEditor Flash文件上传-crossdomain.xml文件配置

    在使用UEditor富文本时,如果客户端的浏览器是低版本浏览器,如IE7.IE8等,UEditor的文件上传方式将会使用flash方式上传而不是html5,而flash在跨域时唯一的限制策略就是cro ...

  6. linux 文件存放目录

    Linux不靠文件扩展名区分文件类型(windous病毒和木马不能在linux里面运行) 所有的存储设备都必须挂载之后才能使用(包括硬盘,U盘和光盘),例如给它手工给它分配盘符 Linux所有内容以文 ...

  7. Vmware ESXi日志文件存放目录地址

    有时候我们需要查看虚拟服务端突然宕机的原因,就需要来查看这些日志 ESXi 通过使用 syslog 功能,在日志文件中记录主机活动. 组件 位置 用途 VMkernel /var/log/vmkern ...

  8. CrossDomain.xml的作用及其简单用法

    使用crossdomain.xml让Flash可以跨域传输数据 本文来自http://www.mzwu.com/article.asp?id=975 一.概述 位于www.mzwu.com域中的SWF ...

  9. 转载:flash 跨域 crossdomain.xml

    转载自http://hi.baidu.com/bozz_/item/e8b1c7c4ca31317489ad9e91 flash 跨域 crossdomain.xml 一.概述 位于www.cross ...

随机推荐

  1. Linq 处理 List数据

    概述:LINQ又称为语言集成查询,是一种类似于SQL的一种查询语言.语言集成查询让开发人员可以使用.NET程序语言(如C#)去查询数据源,主要数据源为内存中的集合对象.ADO.NET数据集.数据库以及 ...

  2. 转 C#反编译后的一些错误改正

    Xenocode反编译及代码整理记录1.Xenocode中设置输出数字为十进制 2.输出后中文文本为\uXXXX,可采用编码工具转成中文 3.new ()改成null; 4.反编译后代码中嵌套数组ne ...

  3. Extjs4 store load 有中文字符提交后台乱码解决方法

    一.在load提交时对字符串进行decode处理. {name : encodeURIComponent(value)} 然后在后端进行反编码 java.net.URLDecoder.decode(n ...

  4. Java“毒丸”使用示例,实现取消任务

    一.简介 在Java并发编程中,“毒丸”指的是将一个对象放在队列当中,当得到这个对象的时候立即停止执行 下面是一个使用“毒丸”来取消任务的一个示例 如图所示,我们假设一个任务从开始到结束需要经历4个步 ...

  5. oracle的学习笔记(转)

    Oracle的介绍 1. Oracle的创始人----拉里•埃里森 2. oracle的安装 [连接Oracle步骤](](https://img2018.cnblogs.com/blog/12245 ...

  6. agc007D - Shik and Game(dp 单调性)

    题意 题目链接 Sol 主人公的最优决策一定是经过熊->返回到某个位置->收集经过的钻石 那么可以直接设\(f[i]\)表示收集完了前\(i\)个位置的钻石的最小时间,转移的时候枚举下最后 ...

  7. Vue知识点(面试常见点)

    v-bind和v-model的区别 1.v-bind用来绑定数据和属性以及表达式,缩写为':' 2.v-model使用在表单中,实现双向数据绑定的,在表单元素外使用不起作用 什么是 mvvm? MVV ...

  8. 【读书笔记】iOS-网络-测试与操纵网络流量

    一,观测网络流量. 观测网络流量的行为叫做嗅探或数据包分析. 1,嗅探硬件. 从iOS模拟器捕获数据包不需要做特别的硬件或网络配置.如果需要捕获这些数据包,那么可以使用嗅探软件来监听回送设备或是用于连 ...

  9. 有关 Android Studio 重复引入包的问题和解决方案

    虽然相同包名相同类名的文件在不同 SDK 中出现的概率极低,但是一旦出现,处理起来就比较棘手.最好的解决方案就是联系提供 SDK 的技术人员反映问题,让其通过修改源码重新打包一个新的 Jar 包. 还 ...

  10. window下安装RabbitMQ

    RabbitMQ: MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们.消 ...