2011-09-15 27 views
0

我一直在努力解决问题。我确信必须有一些简单的解决方案,很多已经实施,因为它看起来像一个基本的设置。gwt-appengine应用程序,其内容的一部分受到保护,其余公众

我正在使用requestfactory构建一个包含GWT和appengine的应用程序。这个应用程序有一些“页面”(他们实际上是MVP的意见),每个人都应该有权访问。这就像主页和我们提供的服务所描述的几个视图。然后,如果你想使用服务,你必须登录(与谷歌帐户和所有)。只有登录后才能访问应用程序中其余的视图(页面)。问题是,如何处理这个问题,一些页面和一些requestfactory调用是公开的,而其他一些页面必须对已经登录的用户可用。

我已经放弃了web.xml中的auth-constraints标签,因为它们全部或全部无效。

下一个选择是使用servlet过滤器(如费用演示)。这可以工作,但只有当“开放”或不受保护的页面不需要从appengine数据存储访问任何数据(并且我不想关闭那扇门,也许将来我想显示状态或数量用户等等)。原因是请求工厂只有一个servlet,所以如果你使用过滤器,如果用户没有登录,则关闭与appengine的所有通信。

我正在考虑实现此过滤器,并且需要为所有的东西,一旦用户登录,并且还为我可能想要显示在“家庭或信息页面”中的数据实现一些RPC服务,我可能需要从数据存储中检索这些数据。然而它对我来说看起来有点矫枉过正。

另一种替代方法是实现检查用户是否登录了我要保护的所有请求工厂服务方法。但是,这看起来并不优雅...

任何人都有同样的问题?有任何想法吗?

我很感激任何帮助。

感谢,

+0

看来其他人也有类似的问题:http://forum.springsource.org/archive/index.php/t-95318.html –

回答

0

你说的权威性约束是“全有或全无”,但事实并非如此 - 他们每个URL。详情请参阅here。另外,你的servlet过滤器和数据存储访问的连接是不可争辩的 - 两者之间没有任何关系。

相关问题