2011-03-14 37 views
1

我想要实现某种形式的(GWT 2.1 MVP)预活动检查,以确保用户在呈现活动之前已遵守各种事情(例如登录,同意读取说明等),这些检查也将采取活动的形式。ActivityMapper是阻止放置请求的正确位置

无论具体细节如何,我都希望保持活动的清洁,并且不要在每个活动中都执行此检查。到目前为止,我见过的最好的地方是ActivityMapper,我可以根据请求的地点执行检查,并返回一个不同于请求的地方。也许FilteredActivityMapper可能是更好的方法。

理想情况下,我想保留最初请求的位置,或者在显示这些中间(检查)活动时不更新历史记录,或者将原始位置对象缓存在中间位置对象内,并且如果用户接受该协议,然后开启原来的地方。

有没有人做过类似的事情,或者有一个更清洁的方法呢?

回答

1

如果你不坚持要在GWT模块中登录,并且可以使用jsps来做这三件事情,我建议: *在web.xml中创建安全约束并保护整个GWT模块通过标准的Web容器功能。每次访问不受保护的资源都将被重定向到登录表单。 *使用servlet过滤器来检查用户是否同意t & c并阅读描述并在http会话中存储它的相关信息。

顺便说一下,使用ActivityMapper作为第二件事情会相当优雅,但对于登录我肯定会使用服务器端,经过验证的机制。

希望它有帮助。

+0

谢谢。我理解的理想是分离登录,但我正在对付已在生产中的固定服务器端设置。在ActivityMapper部分,通过使用FilteredActivityMapper拦截它可以很好地工作。但是,当应用程序发展到包含多个区域时,我不得不复制过滤器代码。现在考虑通过重写PlaceController.goTo()来在本周期的早期拦截Place请求。 – Dan 2011-03-15 17:29:26