在本地模式下运行flex application / swf的可能问题

时间:2010-10-12 17:55:42

标签: flex security flash file-permissions sandbox

我们正在为我们的解决方案开发客户端应用程序它是一个桌面客户端。我们正在使用flex。 (虽然我知道flex适用于Web应用程序,并且空中应用程序最适合桌面客户端,但由于一些构建问题,我们不能用于空中应用程序)。现在根据我们的用例,我们需要从本地文件系统读取文件,由于沙盒策略,这在flex应用程序中是不允许的。为了覆盖它,我们计划在本地模式下使用它(即从本地文件系统运行而不是在Web容器中部署)。因此,在本地模式下运行应用程序后,它会绕过沙箱策略并允许读取本地文件。最终,我们还需要在我们的应用程序中调用远程服务(使用Web服务或使用blaze ds)。为了避免在本地模式下对网络访问进行沙箱限制,我们计划明确授予我们的Flex应用程序网络访问权限。那么,我可能会遇到这种方法中的任何问题吗?

谢谢,

Ankur Shah

2 个答案:

答案 0 :(得分:1)

只要您确保使用local-with-networking安全沙箱。这将允许您访问本地文件系统和网络。

您可以在此处详细了解不同的沙盒类型:http://livedocs.adobe.com/flex/3/html/help.html?content=05B_Security_04.html

答案 1 :(得分:0)

我们必须通过使用Air与C#WebServices和HttpServices(在Windows上运行C#服务器端的Air GUI)来避免任何此类问题。虽然对你没什么帮助。

另一种可能的解决方案可能是在Internet Explorer中使用JavaScript来访问本地文件系统via ActiveX控件(我没做过),然后使用Flex的ExternalInterface API从内部获取JavaScript / Html数据相同的浏览器(我有)。