使用Grails和Acegi插件捕获登录/注销和登录尝试

时间:2010-02-09 19:38:32

标签: grails spring-security

我使用grails过滤器和会话监听器部分实现了一个解决方案,要求我修改web.xml。会话监听器告诉我会话何时结束,grails过滤器告诉我第一次使用经过身份验证的用户调用任何控制器。

在我看来,两者都是必需的,因为grails或者acegi插件会自动创建一个新会话,所以我需要使用grails过滤器来确定会话实际上何时拥有经过身份验证的用户。

我说所有这些都说,是否有一种更简单的方法,不需要过滤器和sessionListener。只是想清理代码所以当我需要稍后再回到它时它仍然有意义

1 个答案:

答案 0 :(得分:2)

事件在登录时被触发,因此这是您跟踪登录的最佳选择 - 如果用户在登录前浏览网站一段时间,会话创建通常会早于登录。请参阅此页面,讨论偶数处理程序:{ {3}}

注销比较棘手,因为用户可能会明确点击注销链接,或者他们可能只是关闭浏览器。如果他们关闭浏览器,他们的会话将超时但是在他们最后一次点击后30分钟(除非您更改了默认值)。

如果要为显式注销添加一个钩子,请按照“注销处理程序”部分中的http://grails.org/AcegiSecurity+Plugin+-+Acegi+Events所述注册一个LogoutHandler。

相关问题