2011-01-24 57 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在不同的客戶端測試這個假設。