flex SecurityError: Error #2048: 安全沙箱冲突

pandy_peng 2010-12-08 09:22:20
发布了flex的网站,访问时提示SecurityError: Error #2048: 安全沙箱冲突:http://localhost:8086/index.swf 不能从 http://www-c8d8bc651c4/ArcGIS/rest/services/zhengzhou/MapServer?f=json 加载数据。
网上都说把crossdomain.xml文件放到发布的gis服务根目录和发布网站的根目录,我都放了,但是还是不行,还是报这样的错误,请高手帮帮忙,一个星期了!
...全文
7957 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
TiciaNico 2013-08-05
  • 打赏
  • 举报
回复
顶楼上 解决了
  • 打赏
  • 举报
回复
将crossdomain.xml文件放置到根目录下。 这个根目录不能直接放到服务端的根文件夹下就可以了,比如tomcat,假如直接放到tomcat的webapps下,通过浏览器访问http://ip:port/crossdomain.xml是无法访问到crossdomain文件的,所以需要放置到逻辑根目录下,tomcat的访问地址根目录在./webapps/ROOT/下。所以将crossdomain.xml放置到这个目录下,就可以访问crossdomain文件,也一般能够解决2048的安全沙箱错误。
leemiki 2010-12-08
  • 打赏
  • 举报
回复
crossdomain.xml放在哪都没关系

关键是要和Security.loadPolicyFile("加载路径url")中url匹配

检查crossdomain.xml是否读取到(浏览器里输入上面url)

或者更直接一点,将crossdomain.xml中的内容复制出来,在代码中以字符串形式发送到客户端

那就不用放那个文件了~~~
fambit025 2010-12-08
  • 打赏
  • 举报
回复
建议使用wireshark抓包,看通信的时候,有没有读取你的crossdomain.xml文件?然后再确认你的文件内容是否正确。。
pandy_peng 2010-12-08
  • 打赏
  • 举报
回复
高手帮帮忙啊
pandy_peng 2010-12-08
  • 打赏
  • 举报
回复
看不懂他们写的什么啊,能跟个具体的方法吗?
passself 2010-12-08
  • 打赏
  • 举报
回复
pandy_peng 2010-12-08
  • 打赏
  • 举报
回复
非常感谢各位的热心帮助,我在同事的帮助下解决了,现在把我的方法分享给大家,希望可以帮助其他的朋友,具体情况我已写入我的博客,我的博客是
http://hi.baidu.com/百王朋度/blog/item/b06acbd74b5eb1d551da4b87.html
leemiki 2010-12-08
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 pandy_peng 的回复:]

或者更直接一点,将crossdomain.xml中的内容复制出来,在代码中以字符串形式发送到客户端

这个怎么实现啊?
[/Quote]
解决跨域问题的原理就是服务端将 <policy-file-request />发送到客户端

客户端接收后就有权限访问服务端资源

Security.loadPolicyFile(url);这种方式其实就是读取crossdomain.xml中配置的允许远程访问的地址

然后依次向这些地址发送<policy-file-request />

基于上述原理,在代码中直接往某个地址发送<policy-file-request />即可

(可以开辟一个socket通道发送,太常见了不多说,不会自己google吧)
fw176170847 2010-12-08
  • 打赏
  • 举报
回复
fw176170847 2010-12-08
  • 打赏
  • 举报
回复
后台是java的么
pandy_peng 2010-12-08
  • 打赏
  • 举报
回复
或者更直接一点,将crossdomain.xml中的内容复制出来,在代码中以字符串形式发送到客户端

这个怎么实现啊?
pandy_peng 2010-12-08
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 leemiki 的回复:]
crossdomain.xml放在哪都没关系

关键是要和Security.loadPolicyFile("加载路径url")中url匹配

检查crossdomain.xml是否读取到(浏览器里输入上面url)

或者更直接一点,将crossdomain.xml中的内容复制出来,在代码中以字符串形式发送到客户端

那就不用放那个文件了~~~
[/Quote]
在浏览器中能获取到那个xml,但是还不行

4,328

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计 Flex
社区管理员
  • Flex
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧