【问题标题】:session not shared between two server会话未在两台服务器之间共享
【发布时间】:2012-09-17 21:54:55
【问题描述】:

我的应用程序在两个服务器之间登陆时遇到了很大的问题 服务器之间存在负载共享,但不幸的是,服务器之间的会话没有维护现在我正在检查登录后是否存在会话,否则我将从 url 获取所有凭据(如果有人记得 url,则可见编码的 url 具有相同的密钥,然后大混乱)显然它根本不安全,所以我们如何在应用程序级别解决这个问题请指导我.......

【问题讨论】:

  • 您的负载均衡器是否支持粘性会话(以便同一个会话总是转到同一个服务器)?

标签: java security jsp web-applications session-cookies


【解决方案1】:

你有两个选择:

  • 粘性会话 - 一旦某个用户访问了一台服务器,负载平衡器会确保她将始终使用完全相同的服务器。

  • 会话复制 - HTTP 会话中的每次更改都会迁移到集群中的另一个节点。负载平衡器不受影响。

这两种方法都只是配置,不需要更改您的应用程序。

【讨论】:

  • +1 应用程序没有变化,但可能不仅仅是配置。可能涉及一些基础设施升级。
  • 请注意,要使会话复制正常工作,您通常需要确保只向会话添加可序列化属性。否则,会话本身无法在服务器之间进行序列化和传递。即使你不使用复制,你也应该只在你的会话中放入 Serializable 的东西,但这是人们经常逃避的事情;可能需要对您的应用程序进行一些更改。
猜你喜欢
  • 2017-08-10
  • 2020-07-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-24
  • 1970-01-01
  • 2018-06-25
  • 2014-04-16
  • 2018-04-03
相关资源
最近更新 更多