开发者社区> 问答> 正文

使用SpringSecurity做权限控制的系统,碰到session共享的问题

落地花开啦 2016-06-01 15:33:43 3346

最近在玩nginx+msm+tomcat,想给系统做负载均衡和集群时,发现session无法共享。现象就是,负载均衡情况下,A浏览器访问登录页面,输入账号密码,点击提交后,闪一下,然后又返回到登录页面,我后台查了一下,请求是正常发出的,然后也接收到后台账号密码的返回提示;然后发现,请求的cookie和发送的cookie不一样,调用的是两台不一样的服务器,我个人猜测是session没有共享!发现后台报了一个错,是关于springSecurity的
[project ECG] time=2015-04-10 14:10:16,874
[org.springframework.security.event.a uthentication.LoggerListener]-[WARN] Authentication event InteractiveAuthenticationSuccessEvent: ECG004; details: org.springframework.security.ui.WebAuthenticationDetails@3bcc: RemoteIpAddress: 191.0.0.46; SessionId: AF169717B397266AE25D2B5FFF6BA8C3-n1.tomcat_48
希望有成功部署的前辈们,给点提示
问题补充:如果是nginx使用的是ip_hash的方式的话,这样的确是正常,只是,这样子只是负载均衡,并不能做到session共享,也就不能做到某一台服务器down掉了,然后该台服务器请求无缝连接到其他服务器

负载均衡 应用服务中间件 nginx 数据安全/隐私保护
分享到
取消 提交回答
全部回答(1)
  • 落地花开啦
    2019-07-17 19:23:25

    nginx使用sticky模块来进行负载均衡,根据session判断,可以解决这个问题

    0 0

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程