【问题标题】:Why -use-network=false为什么 -use-network=false
【发布时间】:2010-02-04 10:22:37
【问题描述】:

谁知道我为什么必须在我的 Flex Builder 中使用 -use-network=false 吗?!?!?!

这是在项目属性中设置的,是附加的编译器参数。

只有当我想读入像 XML 这样的外部文件时。

我团队中的其他人不必 -use-network=false ????

【问题讨论】:

  • 我们有时会创建 Flex 应用程序,这些应用程序将从 U 盘启动(通过在 Flash Player 中创建投影仪),它将 XML 文件加载到与应用程序相同的目录中。那将是本地访问,这会引发沙盒安全错误。为了让您的应用程序访问本地文件并测试其行为,-use-network=false 非常方便。

标签: apache-flex


【解决方案1】:

如果您团队的其他成员不必使用 -use-network=false,那么他们可能已设置了全局信任权限。出于良好的安全原因,您通常不能使用 Flash 文件访问本地文件。当您进行开发时,您需要能够在本地访问文件。为此,您有两种选择:

  1. -use-network=false 会反转信任,但在部署时您必须将其还原;
  2. 设置全局权限,以便在您的 dev 文件夹中,这些规则不适用:see this post for details

【讨论】:

    【解决方案2】:

    网络访问和本地文件访问在 Flash/Flex 中是互斥的。使用网络编译器选项的documentation 解释得最好:

    use-network 属性设置为false 时,应用程序可以访问本地文件系统(例如,使用带有file: URL 的XML.load() 方法)但不能访问网络服务。在大多数情况下,该属性的值应该为 true。

    有关 use-network 属性的更多信息,请参阅Applying Flex Security

    【讨论】:

    • 我明白了。但是,一旦我将其部署到远程服务器上,我的应用程序会工作吗?
    • 一旦它在远程系统上,将use-network 设置为true 意味着它可以访问用户的机器,但不能访问它所在服务器上的任何文件。
    猜你喜欢
    • 2016-12-13
    • 2015-03-22
    • 2010-12-19
    • 1970-01-01
    • 2015-03-15
    • 1970-01-01
    • 2013-09-18
    • 1970-01-01
    • 2015-09-30
    相关资源
    最近更新 更多