正在编写一个AIR 1.5应用程序,我想从Web服务器上远程加载一个Flex .swf文件。
我正在使用Flex 3.2 SDK,尝试通过SWFLoader使用子应用程序功能。我一直在参考“开发和加载子应用程序”文档来进行操作。
我确实可以成功地从远程网页服务器加载 Flex .swf 文件,并将其加载到远程沙盒中。这个 .swf 文件的运行形式甚至尊重我在 AIR 本地窗口上设置的透明度设置。
这是个问题:
对于生产环境,我们的Web服务器使用Spring Security来防止未经授权的访问登录网页(正常开发/质量保证构建部署也是如此)。如果成功登录,则登录的响应将设置一个cookie。该cookie头应出现在所有随后的HTTP交互中,以获取站点内容。
我不知道如何在使用SWFLoader检索Flex .swf文件时设置Cookie标题。
我该如何使用SWFLoader从被Spring Security保护的网站检索文件(Spring Security是保护基于Java的网站访问的广泛使用的方式 - 在与Spring Source融合之前,它曾被称为Acegi安全性)?
当我们在浏览器Flash Player沙箱中运行基于Flex的代码时,非常容易 - 浏览器能很好地管理Spring Security。然而,在远程沙箱的安全范围内作为子应用程序运行基于Flex的应用程序,却是一种糟糕的体验。
AIR HTML控件虽然与Spring Security能很好地配合,但不能用,因为如果在AIR原生窗口上将透明度设置为true,则不会显示任何.swf或.pdf内容。我们特定的UI设计绝对要求将透明度设置为true,因为我们正在进行悬浮在用户桌面上的MDI子窗口。