我一整天都在努力解决问题。我相信必须有一些简单的解决方案,许多已经实现,因为它在我看来是一个基本的设置。
我正在使用GWME构建一个应用程序,并使用requestfactory创建appengine。这个应用程序有一些“页面”(它们实际上是MVP视图),每个人都应该有权访问。它就像主页和几个视图,其中描述了我们提供的服务。然后,如果您想使用您必须登录的服务(使用谷歌帐户和所有这些)。只有登录才能访问应用程序中的其余视图(页面)。问题是,如何处理这个?,一些页面和一些requestfactory调用是公开的,还有一些其他必须可以登录的人使用?
我已经放弃了web.xml中的auth-constraints标签,因为它们可以全部或全部使用。
下一个选择是使用servlet过滤器(如费用演示所做的那样)。这可能有效,但只有当“开放”或不安全的页面不需要访问来自appengine数据存储区的任何数据时(我不想关闭那扇门,未来我想显示状态或数量)用户等等)。这样做的原因是,对于请求工厂,您只有一个servlet,因此如果您放置过滤器,则在用户未登录的情况下关闭所有与appengine的通信。
我正在考虑实现这个过滤器,一旦用户登录就对所有东西都有requestfactory,并为我可能想要显示在“home或information pages”中的数据实现一些RPC服务。从数据存储区中检索。然而,对我来说这看起来有点矫枉过正。
另一种方法是实现检查用户是否已登录我想要保护的所有请求工厂服务方法。但这看起来并不优雅......
有人有同样的问题吗?任何想法?
我很感激你的帮助。
谢谢,
答案 0 :(得分:0)
你说auth约束是“全有或全无”,但这不是真的 - 它们是按网址进行的。有关详细信息,请参阅here。此外,您的servlet过滤器和数据存储访问的连接是非sequitir - 两者无关。