2011-01-24 59 views
4

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

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

更新:

或者至少,我怎么可以开发的东西,并确保它的分裂,以及一个用户只能访问自己的信息?

+0

什么让你认为它是NAT合并用户数据?在大多数情况下,NAT运行在更低的网络级别上。 – Osw 2011-01-24 21:44:35

+0

它只发生在NAT用户身上,这就是我认为的原因...... 我想知道它是否可能是来自网络服务器的一些缓存,对它可能是什么想法? – pringlesinn 2011-01-24 21:58:52

回答

6

这可能是一个愚蠢的(对不起)会话处理,通过IP匹配会话。你所有的NAT用户都有相同的外部IP,所以他们被合并。更好地使用cookie来处理会话。正如beliarius所说,也许你已经使用了cookies,但是如果cookie是从IP创建的,那么它们是非常没用的。

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

0

添加到@Daniel的答案,我认为有基于IP地址的亲和力配置了不正确的子网掩码值。如果配置了基于IP地址的关联,则掩码应为255.255.255.255,以便根据IP唯一标识连接。这应该在IP虚拟服务器中进行检查。

0

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