これは、同じドメインからSWFをロードすることではありません。
との間でデータをロード/保存することになっている小さなSWFファイルがありますSharedObject
。専用ドメイン(ドメインAと呼びましょう)に常駐しています。
上記のデータに共有してアクセスする必要のあるアプリケーションがいくつかあります(つまり、異なるドメイン(B、C、D、...)のすべてのアプリケーション)。当然、SharedObject
アプリケーション内からfromを使用しても、アクセスできません。SharedObject
ドメインごとです。
- ドメインBIのアプリケーションから、ドメインAからポリシーファイルを読み込んでいます。ポリシーファイルでは、すべてのドメインで「*」とドメイン「B」を使用できます。
allowDomain("A")
アプリケーションでドメインAを介して許可しています- データ処理SWF内のドメインBを
allowDomain("B")
- 私は次のようにloaderContext
new LoaderContext(true, new ApplicationDomain(), SecurityDomain.currentDomain);
を追加しています: 。ロードされたSWFが独自のドメイン「A」コンテキストを保持する必要があるためSharedObject
、ホスティングアプリケーションの名前空間(「B」)ではなく「A」名前空間に書き込まれるため、「new ApplicationDomain()
」
データ処理SWFは、を使用してロードされSWFLoader
ます。
私が正しく理解していれば、上記のすべてで、ロードされたSWFのクラスメンバーにアクセスできるようになります。ご想像のとおり、実際には機能しません。SWFLoaderのコンテンツをSWFのドキュメントクラスとしてキャストしようとすると、null
セキュリティの問題が原因です(でロードしようとApplicationDomain.currentDomain
しましたが、完全に機能したので、クラスは同じですが、必要なものではありません)
私は何が欠けていますか?または、異なるドメイン上のアプリケーション間でローカルにデータを共有するためのより良いソリューションはありますか?