【问题标题】:NAT Network is merging sessionsNAT 网络正在合并会话
【发布时间】:2011-06-14 19:22:42
【问题描述】:

我正在为一群用户开发一些东西,当我测试它时,NAT 用户正在合并他们的信息,因为它只是一个会话。 如何拆分它以向正确的用户显示正确的信息?

我正在使用 Java、JSF 1.2 和 SpringSecurity。

更新:

或者至少,我如何开发一些东西并确保它被拆分,并且一个用户只能访问他自己的信息?

【问题讨论】:

  • 是什么让你认为这是 NAT 合并用户数据?在大多数情况下,NAT 在更低的网络级别上运行。
  • 它只发生在 NAT 用户身上,这就是让我觉得.. 我想知道它是否可能是来自网络服务器的一些缓存,知道它可能是什么吗?
  • 我首先要做的是 NAT 测试。如果可能启用出站连接,请检查是否可以在不合并会话数据的情况下获得对邮箱、google、twitter、facebook 的独立访问权限。如果测试通过并且没有检测到偏执的网络安全设置,那么将需要更多的应用程序信息:一些简单的、缩小的测试用例,例如“user1 填写简单的表单并提交,backing bean 正在处理请求,user2 做同样的事情......”然后是预期/实际结果、状态保存机制(web.xml)、会话和弹簧设置、服务器平台等。

标签: java session jsf spring-security nat


【解决方案1】:

这可能是一个愚蠢的(抱歉)会话处理,它通过 IP 匹配会话。您所有的 NAT 用户都具有相同的外部 IP,因此它们被合并了。更好地使用 cookie 来处理会话。

正如beliaius所说,也许你已经使用了cookies,但是如果cookies是从IP创建的,它们就非常没用了。

如果您所说的应用程序不是基于浏览器的,您将必须向您的客户发送 cookie,并且必须自己实现 cookie 处理。或者每个客户端只使用一个 TCP 连接,然后在重新连接时重新登录。

【讨论】:

  • 一个测试这个理论的方法是在同一台计算机上运行两个具有两个不同登录名的浏览器。会话是否合并?
【解决方案2】:

补充@Daniel 的回答,我认为基于 IP 地址的关联配置了不正确的子网掩码值。如果配置了基于 IP 地址的关联,则掩码应为 255.255.255.255 以唯一标识基于 IP 的连接。这也应该在 IP 虚拟服务器中进行检查。

【讨论】:

    【解决方案3】:

    有时,当您的会话 cookie 在每次会话开始时都没有正确重新生成时,就会发生这种情况。在不同的客户端检查你的 session_id 来检验这个假设。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-03
      • 2018-11-17
      • 1970-01-01
      • 1970-01-01
      • 2013-01-16
      • 1970-01-01
      • 1970-01-01
      • 2011-02-08
      相关资源
      最近更新 更多