【问题标题】:What is the best approach to collect/define lastvisited information in Grails/spring security?在 Grails/spring security 中收集/定义 lastvisited 信息的最佳方法是什么?
【发布时间】:2011-09-26 14:25:46
【问题描述】:
在 Grails 中为用户获取上次访问信息的最佳实践或方法是什么?对于用户登录,我使用的是 spring security,我想根据 lastvisited 日期显示一些垃圾信息。到目前为止,我在用户域中没有任何属性。请让我知道我可以在 Grails 应用程序中轻松收集上述信息的不同和可能的方法。另一个相关的问题是,当用户在浏览器中关闭窗口或选项卡而不按注销链接/按钮时,我该如何解决上述问题?
【问题讨论】:
标签:
grails
groovy
spring-security
grails-domain-class
【解决方案1】:
我们最终很混乱 - 很高兴知道更好的方法。我们正在保存以下访问信息:
- 登录 - 在
spring-security-redirect 指向的操作中;
-
通过“记住我”登录 - 在ApplicationListener.onApplicationEvent(appEvent)(我们提供了一个服务ApplicationListener):
if (appEvent instanceof AuthenticationSuccessEvent) {
if (appEvent.source instanceof RememberMeAuthenticationToken) {
}
}
也许这里就是收集所有登录事件的地方。
- 注销 - 在我们自己的
logout 操作中重定向到 j_spring_security_logout。
- 我们不记录会话超时。