【问题标题】:Does Adobe Air have unconstrained file system access?Adobe Air 是否具有不受限制的文件系统访问权限?
【发布时间】:2009-04-15 15:21:39
【问题描述】:

我找到了几个示例和文档,这些示例和文档展示了如何在系统上读取和写入文件,但都展示了用户干预或在用户配置文件目录中读取/写入文件。我想做几件事:

  1. 监控系统和其他应用程序日志文件的更改,然后在发生更改时自动加载这些文件
  2. 在应用程序启动时重新加载之前打开的文件
  3. 将文件写入日志目录,该目录可能与应用程序不在同一路径中。

在我的快速搜索中,似乎有一个安全模型限制了 AIR 应用程序对文件系统的访问,因此文件只能读取或写入用户通过文件系统对话框选择的目录或文件可以写入用户配置文件或空中应用程序目录中。

Adobe Air 应用程序是否可以不受限制地访问文件系统?

【问题讨论】:

    标签: apache-flex actionscript file file-io air


    【解决方案1】:

    AIR 具有与当前用户完全相同的文件系统访问权限。如果您是计算机上的管理员,则 AIR 具有对所有文件的完全访问权限。如果您是受限用户,则 AIR 具有受限访问权限。

    需要注意的一点是,如果您从 AIR 应用程序的主目录加载 swf:s,它将在应用程序沙箱中运行。如果您从外部读取它,它将在文件沙箱中执行,这与从网络加载基本相同。

    您名单上的一些 cmets:

    1 监控系统和其他应用程序日志文件的更改,然后在发生更改时自动加载这些文件

    据我所知,AIR 无法监控文件系统。您必须定期进行投票。

    2 在应用启动时重新加载之前打开的文件

    将此信息保存在文件或 SQLite 中,并在应用启动时检查它。

    3 将文件写入日志目录,该目录可能与应用程序不在同一路径中。

    要记住的主要事情是使用 AIR 中的文件路径抽象而不是操作系统特定的路径,例如 c:/

    【讨论】:

      【解决方案2】:

      我会说你的答案取决于平台。我确信 Adob​​e Air 不会在 OS X 上自动拥有 root 访问权限,因此在启动 AIR 应用程序的任何所有者都没有访问文件的正确权限的情况下,它将无法读取、写入和执行。简而言之,您可能拥有与计算机上运行的任何其他程序相同的权限,这些程序可能由同一用户安装。

      更多信息在这里:

      http://help.adobe.com/en_US/AIR/1.5/devappshtml/WS5b3ccc516d4fbf351e63e3d118666ade46-7f05.html#WS5b3ccc516d4fbf351e63e3d118666ade46-7e35

      【讨论】:

      • 访问不依赖于安装程序,只依赖于当前用户。
      • 啊,但不是以当前用户身份运行的安装?
      • 是的,但我见过这样的情况:安装由具有完全访问权限的 IT 部门完成,但程序随后由具有有限访问权限的用户运行。
      猜你喜欢
      • 2014-01-12
      • 1970-01-01
      • 1970-01-01
      • 2011-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-23
      • 1970-01-01
      相关资源
      最近更新 更多