apache-flex Flex使用assql连接到数据库,Flex -安全沙箱违规

biswetbf  于 2022-11-01  发布在  Apache
关注(0)|答案(1)|浏览(146)

我编写了一个连接到本地数据库小Flex项目,
代码如下:

_dbData=new DataBaseData();
    _dbData.username="root";
    _dbData.password="woxnsk";
    _dbData.host="192.168.2.225";
    _dbData.port=3306;
    _dbData.database="query";
    _db=new MyDataBase(_dbData);
    _db.addEventListener(Event.CONNECT, onConnected);
    _db.connect();

    _isDBConnecting=true;

该项目在Flex Builder中运行良好,然后我将其部署在我的Wamp服务器中,出现了问题。
当我使用localhost/myproject/login.html这样的URL时,我可以访问数据库,但如果我将localhost更改为127.0.0.1或IP 192.168.2.225,它将无法连接到数据库,错误是安全沙箱违规。
错误#2044:未处理的ioError:text=错误编号2048:安全沙箱违规。:http://192.168.2.225/bin-debug/QuestionCollecter.swf无法从www.example.com加载数据192.168.2.225:3306
我已经将crossdomain.xml文件放在了服务器的根目录下(C:\wamp\www或C:\apache-tomcat-6.0.35\webapps\ROOT),crossdomain.xml文件是:

<xml version="1.0"?>
    <cross-domain-policy>
        <allow-access-from domain="*" to-ports="*" />
    </cross-domain-policy>

坏了......有什么问题吗?谁能帮帮我~

rqdpfwrv

rqdpfwrv1#

1)您可以选中allowScriptAccessallowNetworking选项以将swf嵌入到页面中:
http://livedocs.adobe.com/flex/3/html/help.html?content=wrapper_13.html
请确保授予对swf的无限制访问权限。
2)您可以从应用程序的url属性中提取服务器地址。
3)您可以使用CharlesHTTPAnalyzer观察来自应用程序的crossdomain.xml请求会发生什么,以及wamp是否使此文件对所有IP可用。
4)您的数据库是否允许非本地连接?

相关问题