1

バックエンド部分として django を使用する単純なフレックス アプリケーションを作成しようとしています。質問があります:

通常、アプリケーションを実行すると、Flex Builder はローカル PC のディレクトリにファイルを作成し、ブラウザを開いてそのファイルを参照します。すべて問題ありませんでしたが、django サーバーを xml データ プロバイダー経由でフレックス アプリケーションにリンクすることにしたとき、セキュリティ エラーが発生し始めました。(crossdomain.xml がないことに関連します)。ファイルを作成してサーバーに配置したとき:

   <?xml version="1.0"?>
<!-- http://www.foo.com/crossdomain.xml -->
<cross-domain-policy>
    <allow-access-from domain="http://127.0.0.1:8000"/>
    <allow-access-from domain="127.0.0.1"/>
</cross-domain-policy>

次に、アプリケーションをもう一度試してみると、FB エラーのコンソールにエラーが表示されました: Request for resource at http://127.0.0.1:8000/go/active/ by requestor from file:///Users/oleg/Documents/FB3/ポリシー ファイルの権限がないため、usersList/bin-debug/usersList.swf が拒否されました。

エラーを修正する方法がわかりません。しかし、私の swf ファイルをサーバーに直接配置するように FB3 を構成する方法があるので、クロスドメインは必要ありませんか?

ありがとうオレグ

4

3 に答える 3

1

私たちはこれにかなり苦労しました。Flex のセキュリティ関連はあまりよくできていませんでしたが、Adobe の開発者とは異なるアプローチを考えていたのかもしれません。私たちにとってうまくいった解決策は、SWF と動的データの両方を同じホストとポートから提供することでした。

開発ボックスでは、ワークスペース内のディレクトリから SWF を提供し、アプリのローカル コピーから動的データを提供するように Apache に指示します。本番環境にプッシュすると、SWF とアプリが同じ仮想ホストに同時にプッシュされます。

それが不便な場合は、ApacheProxyPassディレクティブを使用して、Apache を他のサーバーの前面にすることができます。本番環境では使用していませんが、開発者のセットアップには非常に便利です。

于 2009-07-20T08:20:12.267 に答える
0

変更した SWF を FlexBuilder で自動的にデプロイする方法がわかりません。それを実現するために、自動化アプローチ (Maven や Flex-Mojos など) を検討することもできます。

とはいえ、通常、そのエラーを取り除くには、サーバーにポリシー ファイルを追加するだけです。

于 2009-07-19T19:14:01.293 に答える
0

2 番目のエラーは、「ファイル」の場所から http リソースをフェッチしようとしているために発生します。Flex Builder プロジェクトを変更して、flex-bin ディレクトリではなく、Django Web サイト内の場所に出力されるようにすることをお勧めします。この設定は、プロジェクトのプロパティ ダイアログで変更できます。次に、フロントエンドとバックエンドで同じプロトコルとドメインを共有できるようにする必要があります。

于 2009-07-19T19:35:54.980 に答える