Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
spring安全会话在超时时未正确失效_Spring_Grails - Fatal编程技术网

spring安全会话在超时时未正确失效

spring安全会话在超时时未正确失效,spring,grails,Spring,Grails,我在Grails2.4.4应用程序中使用SpringSecurityCore2.0。我将用户的并发会话访问限制为1。 所以问题是在会话超时30分钟后,我无法使用该用户名和密码登录,它将抛出并发会话最大超出异常。 我怀疑,在会话超时时,我的注销没有正常工作,因此会话仍然可以处于活动状态 我是spring security的新手,有人能告诉我该怎么做吗 这里我给出了我在代码中所做的更改,以限制并发访问 资源.groovy //将您的Spring DSL代码放在这里 /*豆子={ messageSo

我在Grails2.4.4应用程序中使用SpringSecurityCore2.0。我将用户的并发会话访问限制为1。 所以问题是在会话超时30分钟后,我无法使用该用户名和密码登录,它将抛出并发会话最大超出异常。 我怀疑,在会话超时时,我的注销没有正常工作,因此会话仍然可以处于活动状态

我是spring security的新手,有人能告诉我该怎么做吗

这里我给出了我在代码中所做的更改,以限制并发访问

资源.groovy

//将您的Spring DSL代码放在这里
/*豆子={
messageSource(org.springframework.context.support.ReloadableResourceBundleMessageSource){basename=“classpath:grails-app/src/resource\u-bundle”}
}*/
导入org.springframework.security.core.session.SessionRegistryImpl;
导入org.springframework.security.web.authentication.session.ConcurrentSessionControlAuthenticationStrategy;
导入org.springframework.security.web.authentication.session.SessionFixationProtectionStrategy;
导入org.springframework.security.web.authentication.session.RegisterSessionAuthenticationStrategy;
导入org.springframework.security.web.authentication.session.CompositeSessionAuthenticationStrategy;
导入com.custom.sessiontime.CustomSessionLogoutHandler
豆子={
sessionRegistry(SessionRegistryImpl)
customSessionLogoutHandler(customSessionLogoutHandler,ref('sessionRegistry'))
concurrentSessionControlAuthenticationStrategy(concurrentSessionControlAuthenticationStrategy,ref('sessionRegistry')){
ExceptionIfMaximumExcepended=真
最大会话数=1
}
sessionFixationProtectionStrategy(sessionFixationProtectionStrategy){
migrateSessionAttributes=true
alwaysCreateSession=true
}
registerSessionAuthenticationStrategy(registerSessionAuthenticationStrategy,ref('sessionRegistry'))
sessionAuthenticationStrategy(CompositeSessionAuthenticationStrategy,[ref('concurrentSessionControlAuthenticationStrategy')、ref('sessionFixationProtectionStrategy')、ref('registerSessionAuthenticationStrategy'))

}
注销已经处理完毕,无需额外的
LoguotHandler
确保您正在注册
HttpSessionEventPublisher
,这将触发新会话和过期会话的注册和清理。grails中存在此问题……如何为spring安全插件注册HttpEventPublisher为了圣杯?