0

これは、同じドメインからSWFをロードすることではありません。

との間でデータをロード/保存することになっている小さなSWFファイルがありますSharedObject。専用ドメイン(ドメインAと呼びましょう)に常駐しています。

上記のデータに共有してアクセスする必要のあるアプリケーションがいくつかあります(つまり、異なるドメイン(B、C、D、...)のすべてのアプリケーション)。当然、SharedObjectアプリケーション内からfromを使用しても、アクセスできません。SharedObjectドメインごとです。

  • ドメインBIのアプリケーションから、ドメインAからポリシーファイルを読み込んでいます。ポリシーファイルでは、すべてのドメインで「*」とドメイン「B」を使用できます。
  • allowDomain("A")アプリケーションでドメインAを介して許可しています
  • データ処理SWF内のドメインBをallowDomain("B")
  • 私は次のようにloaderContextnew LoaderContext(true, new ApplicationDomain(), SecurityDomain.currentDomain);を追加しています: 。ロードされたSWFが独自のドメイン「A」コンテキストを保持する必要があるためSharedObject、ホスティングアプリケーションの名前空間(「B」)ではなく「A」名前空間に書き込まれるため、「new ApplicationDomain()

データ処理SWFは、を使用してロードされSWFLoaderます。

私が正しく理解していれば、上記のすべてで、ロードされたSWFのクラスメンバーにアクセスできるようになります。ご想像のとおり、実際には機能しません。SWFLoaderのコンテンツをSWFのドキュメントクラスとしてキャストしようとすると、nullセキュリティの問題が原因です(でロードしようとApplicationDomain.currentDomainしましたが、完全に機能したので、クラスは同じですが、必要なものではありません)

私は何が欠けていますか?または、異なるドメイン上のアプリケーション間でローカルにデータを共有するためのより良いソリューションはありますか?

4

1 に答える 1

0

http://jodieorourke.com/view.php?id=115&blog=news

どうやら、セキュリティをやりすぎるのは悪いことです。

于 2012-08-14T10:41:00.040 に答える