【发布时间】:2011-08-17 17:50:22
【问题描述】:
我已经构建了一个 google 应用程序引擎,将其用作我的 android 应用程序的数据库,所以我不希望任何人在我上传后访问我的 web 应用程序。我怎样才能阻止它?我考虑过使用密码作为参数,如果密码不匹配则显示错误页面,但这非常危险且不够。 还有其他方法吗?
谢谢!
【问题讨论】:
标签: java android google-app-engine jsp servlets
我已经构建了一个 google 应用程序引擎,将其用作我的 android 应用程序的数据库,所以我不希望任何人在我上传后访问我的 web 应用程序。我怎样才能阻止它?我考虑过使用密码作为参数,如果密码不匹配则显示错误页面,但这非常危险且不够。 还有其他方法吗?
谢谢!
【问题讨论】:
标签: java android google-app-engine jsp servlets
大概您希望您的 Android 应用的用户能够访问您的应用,而不是其他人。这是不可能的:您的 Android 应用可以生成的任何内容都可以在没有您的应用的情况下独立生成。
您最多可以在您的应用程序中嵌入一个秘密令牌并使用它为请求生成签名,但有人提取该秘密并直接使用它并不难。
【讨论】:
只需在 web.xml 中添加一个安全约束,例如
<security-constraint>
<web-resource-collection>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
您将需要为您的客户端应用程序定义一些身份验证机制,以便它通过例如使用 SSL 并以这种方式从 Android 应用程序发送登录值。在这种情况下,请确保通过 web.xml 打开应用使用的 URL 模式。
【讨论】: