【发布时间】:2014-08-25 17:13:50
【问题描述】:
我有一个CustomSecurityEventListener 用于在成功验证后获取事件,CustomHttpSessionListener 用于设置最大非活动会话时间。
class CustomSecurityEventListener implements ApplicationListener<AbstractAuthenticationEvent>, LogoutHandler {
def grailsApplication
def sessionRegistry
@Transactional
void onApplicationEvent(AbstractAuthenticationEvent event) throws AuthenticationException {
if(event instanceof AuthenticationSuccessEvent){
// user auditing actions
}
}
我想使用 Web 界面实现会话管理器,管理员可以在其中撤销属于给定用户的会话。
| userName1 | JSESSIONID1234 | action -> revoke |
| userName2 | JSESSIONID4321 | action -> revoke |
您是否知道如何使用自定义侦听器(使用 sessionCreated()、sessionDestroyed() 方法)将 sessionId 与用户相关联,并将用户会话对存储在例如。 “活动会话”集合。
我不想将 sessionId 作为属性存储在 Spring Security User 类中。
提前致谢。
【问题讨论】:
标签: spring grails spring-security