http://docs.spring.io/spring-session/docs/current-SNAPSHOT/reference/html5/guides/security.html
http://blog.csdn.net/xiejx618/article/details/42523337后面的另外介绍
从前面的基于java config的springSecurity(一)--基本搭建的另外介绍,可以知道,用户认证的信息是通过session进行保存的.当然默认的就是使用servlet容器(比如tomcat,jetty)生成的session.如果使用了spring session,可以通过Filter将session进行包装,进而将用户认证的信息保存到redis去,而不依赖servlet容器,这样做的好处,可以解决分布式应用session共享的问题.
集成很简单,就不贴代码了.参考资料的How does it work?做了比较详细的说明.当然要注意,确保注册springSessionRepositoryFilter要比springSecurityFilterChain靠前,上面资料也介绍到,做法:在SecurityWebApplicationInitializer上使用@Order(100),然后在HttpSessionApplicationInitializer上使用@Order(99),这样HttpSessionApplicationInitializer的优先级就更高,所以先注册.还有别忘了SessionConfig加入到org.exam.config.DispatcherServletInitializer#getRootConfigClasses.搞定就可以测试了.
如果要管理session,还要注意HttpSessionEventPublisher监听创建成Bean,而不是直接添加到servlet容器.添加对HttpSessionListener的支持是从springSession-1.1.0开始,写这文章的时候,这版本还没出来.所以,以前的源码有问题.新源码: http://download.csdn.net/detail/xiejx618/9554626