nginx+tomcat反向代理下使用tomcat-redis-session-manager进行session共享中值得注意的一个问题
2015-02-12 10:44
791 查看
公司目前项目使用nginx反向代理+多个tomcat进行负载均衡,之前使用ip_hash策略进行session控制。近期有考虑不再使用ip_hash策略,所以需要进行session共享。
根据项目实际情况,拟考虑使用开发配置比较简单,应用比较广泛的tomcat-redis-session-manager方式进行session共享,具体设置请参考 http://www.cnblogs.com/interdrp/p/4056525.html
公司原来项目使用spring security框架进行安全控制,在测试的时候发现一个诡异的问题,在前端登录的时候,自定义的session已经共享成功,但是登录提交后总是跳转到j_spring_security_check,security的content为空,security并没有创建和保存登录后的session。
发现一个问题,当自定义的session创建后,tomcat会调用tomcat-redis-session-manager将其序列化然后保存到redis上去,当使用request.getSession().setAttribute(key,value);设值的时候,如果value为null,空对象,则会造成异常,且此异常并不在项目代码中创建,难以追踪到。
所以一旦使用tomcat-redis-session-manager方式进行session共享,项目代码中在使用request.getSession().setAttribute(key,value)的时候,最好需要判断一下value是否为空对象。
根据项目实际情况,拟考虑使用开发配置比较简单,应用比较广泛的tomcat-redis-session-manager方式进行session共享,具体设置请参考 http://www.cnblogs.com/interdrp/p/4056525.html
公司原来项目使用spring security框架进行安全控制,在测试的时候发现一个诡异的问题,在前端登录的时候,自定义的session已经共享成功,但是登录提交后总是跳转到j_spring_security_check,security的content为空,security并没有创建和保存登录后的session。
发现一个问题,当自定义的session创建后,tomcat会调用tomcat-redis-session-manager将其序列化然后保存到redis上去,当使用request.getSession().setAttribute(key,value);设值的时候,如果value为null,空对象,则会造成异常,且此异常并不在项目代码中创建,难以追踪到。
所以一旦使用tomcat-redis-session-manager方式进行session共享,项目代码中在使用request.getSession().setAttribute(key,value)的时候,最好需要判断一下value是否为空对象。
相关文章推荐
- Redis学习笔记(七)nginx+tomcat反向代理下使用tomcat-redis-session-manager进行session共享中值得注意的一个问题
- 使用Tomcat+Redis来实现集群部署中的Session共享问题
- 使用nginx搭建集群tomcat8,redis实现session共享,文件共享问题
- 使用Tomcat-redis-session-manager来实现Tomcat集群部署中的Session共享
- tomcat-redis-session-manager实现负载均衡session共享问题
- 使用Tomcat+Redis来实现集群部署中的Session共享问题
- 使用Tomcat+Redis来实现集群部署中的Session共享问题
- 使用tomcat-redis-session-manager实现session共享
- 使用redis集群+tomcat缓存共享下session丢失问题产生原因以及解决
- 使用nginx搭建集群tomcat8,redis实现session共享,文件共享问题
- 使用nginx搭建集群tomcat8,redis实现session共享,文件共享问题
- Tomcat8.0.36 上通过redis来进行session共享(chexagon/redis-session-manager)
- 使用tomcat-redis-session-manager实现session共享
- 使用Tomcat-redis-session-manager来实现Tomcat集群部署中的Session共享
- redis+tomcat共享session问题(转)
- tomcat使用redis共享session并实现单点登录
- redis上tomcat和session共享的问题
- tomcat-redis-session-manager的使用
- 利用tomcat-redis-session-manager解决tomcat的分布式session问题
- Tomcat7通过redis 来进行session复制的设置过程(jcoleman/tomcat-redis-session-manager)