Session集中管理方案中,怎么与之前写的SessionListener兼容,使之能触发?
现在在项目中需要使用Session集中管理方案,把用户的Session数据存放到Redis服务器中,参照memcached-cache-filter和Spring-Session,使用一个filter将用户请求拦截,然后使用自己写的Session管理替换服务器原有的Session管理,目前已经实现了基于Redis的Session管理。但是项目里有之前写好的HttpSesionListenr,在替换了服务器原有的Session管理之后,实现了
HttpSesionListenr的监听器不能使用了,请问要怎么解决现在的问题,让监听器能正常触发?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
前面的 HttpSessionEventPublisher 说错了,它本身也是个普通的 Listener 是将 HttpSessionEvent 封装成 HttpSessionCreatedEvent/HttpSessionDestroyedEvent 再发布出去的,Spring Security 的 Session-Concurrency-Control 好像是基于这个事件
又翻了下文档,发现Spring-session本来就支持httpsessionlistener的
http://docs.spring.io/spring-session/docs/current-SNAPSHOT/reference/html5/#httpsession-httpsessionlistener
直接把你的HttpSesionListener实现声明成一个Bean就可以了,原来应该是声明在web.xml里的吧?