0

我有一个用 Java 编写的 Google-App-Engine 网站,我在该网站上存储了一个 XML 文件,以及一个需要读取该文件的 iOS 应用程序。但是,其他任何人都无法查看此 XML 非常重要。我一直在寻找一些可能性,但遇到了一些问题。

我主要是尝试在我的 Java 项目的 web.xml 中添加一个安全约束,例如:

<security-constraint>
    <web-resource-collection>
        <url-pattern>/file.xml</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>admin</role-name>
    </auth-constraint>
</security-constraint>

当我尝试从网络浏览器访问文件时,这对我来说很好。我被重定向到可以输入用户名和密码的登录页面。但是在应用程序内部,我不知道在哪里输入这些信息。尝试获取该文件会返回 Google 登录页面的源代码。那么如何访问这些文件呢?

我还尝试使用 ASIHTTPRequest 类,并设置:

[request setUsername:@"username"];
[request setPassword:@"password"];

但是,我最终还是得到了登录页面的源代码。我应该考虑使用 CFCredentials 吗?还是我缺少一个更简单的解决方案?

我知道我也可以手动加密文件,然后在应用程序中解密它,但它是一个非常大的 XML,所以我不想这样做。

非常感谢。

4

2 回答 2

0

您可以尝试使用Google Cloud Storage。它可以从 Google App Engine 访问,也可以通过实验性的 JSON API访问,也可以从 iOS 访问。

您可以为已上传到 Google Cloud Storage 的文件指定 ACL,以便只有有限的一组用户可以访问它们。通过 OAuth 2 处理访问这些文件的授权。

于 2012-08-14T20:22:12.330 回答
0

该页面由 Google 帐户日志记录保护(除此之外,用户需要是应用程序的管理员),您需要设置登录 cookie 才能被允许进入。

我知道从移动应用程序设置登录 cookie 的唯一示例是 Nick 的博客,它使用 Java 实现登录。

于 2012-08-14T20:14:14.727 回答