在Grails / spring安全性中收集/定义最后访问信息的最佳方法是什么?

时间:2011-07-01 08:47:04

标签: grails groovy spring-security grails-domain-class

在Grails中为用户获取上次访问信息的最佳做法或方法是什么?对于用户登录,我使用的是spring security,我希望根据上次访问的日期显示几条信息。到目前为止,我在用户域中没有任何属性。您能否告诉我不同​​的可能方法,我可以轻松收集Grails应用程序中的上述信息。另一个相关的问题是,当用户关闭浏览器中的窗口或标签而不按下注销链接/按钮时,如何解决上述问题?

1 个答案:

答案 0 :(得分:0)

我们结果非常混乱 - 很乐意知道一个更好的方法。我们正在保存访问信息:

  • 登录 - 在spring-security-redirect指向;
  • 的操作中
  • 通过“记住我”登录 - 在ApplicationListener.onApplicationEvent(appEvent)中(我们将服务设为ApplicationListener):

    if (appEvent instanceof AuthenticationSuccessEvent) {
        if (appEvent.source instanceof RememberMeAuthenticationToken) {
        }
    }
    

    也许这是收集所有登录事件的地方。

  • 注销 - 在我们自己的logout操作中重定向到j_spring_security_logout
  • 我们不会记录会话超时。