在 AppEngine 上保护 GWT 应用程序
Posted
技术标签:
【中文标题】在 AppEngine 上保护 GWT 应用程序【英文标题】:Securing GWT application on AppEngine 【发布时间】:2012-05-04 17:57:09 【问题描述】:我在 AppEngine 上部署了 GWT 应用程序。我想限制只有管理员才能访问该应用程序。
我想使用 web.xml 中的内置安全约束设置,但我不知道如何让我的应用在 /myapp/admin url 而不是 /myapp 中响应 我正在使用 RequestFactory 与服务器通信,我希望 /gwtRequest 受到相同的约束。
谢谢你, 伊多。
【问题讨论】:
【参考方案1】:我不知道我是否正确理解了你的问题。
如果您只想通过管理员访问,您可以配置您的应用程序如下:
<security-constraint>
<web-resource-collection>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<url-pattern>/loginpage</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
</auth-constraint>
</security-constraint>
现在您对每个页面只有管理员访问权限,但您仍然需要对登录页面具有公共访问权限。 (您必须将“loginpage”替换为您的登录页面的网址)
如果你只想让你的 gwtRequest 在 admin-access 下让它这样:
<security-constraint>
<web-resource-collection>
<url-pattern>/gwtRequest/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
抱歉,我不确定是 /gwtRequest/ 还是 /gwtRequest
【讨论】:
谢谢。你解释清楚。除了登录之外,我实际上不需要公共页面以上是关于在 AppEngine 上保护 GWT 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
Android 在没有 AppEngine 的情况下重用 GWT RPC 后端
为 Web 和 Android 服务的 AppEngine GWT-RPC 服务
如何在 GWT 中为 AppEngine SystemProperty 继承模块