Сеть NAT объединяет сессии - PullRequest
4 голосов
/ 25 января 2011

Я разрабатываю что-то для группы пользователей, и когда я тестировал это, пользователи NAT объединяли свою информацию, поскольку это был только один сеанс. Как я могу разделить это, чтобы показать правильную информацию нужному пользователю?

Я использую Java, JSF 1.2 и SpringSecurity.

Обновление:

Или, по крайней мере, как я могу что-то разработать и убедиться, что это разделено, и один пользователь будет иметь доступ только к своей собственной информации?

Ответы [ 3 ]

6 голосов
/ 25 января 2011

Это может быть глупая (извините) обработка сеанса, которая соответствует сеансам по IP.Все ваши пользователи NAT имеют одинаковый внешний IP, поэтому они объединены.Лучше использовать куки для обработки сессий.

Как говорит Белиариус, возможно, вы уже используете куки, но если куки создаются с IP-адреса, они очень бесполезны.

Если приложение, о котором вы говорите,не основанный на браузере, вам придется отправлять куки своим клиентам и самим осуществлять обработку куки.Или просто используйте одно TCP-соединение для каждого клиента и повторно подключитесь при повторном подключении.

0 голосов
/ 03 февраля 2011

Иногда это происходит, когда у вас есть файл cookie сеанса, который не восстанавливается должным образом при каждом запуске сеанса.Проверьте свой session_id в разных клиентах, чтобы проверить эту гипотезу.

0 голосов
/ 30 января 2011

В дополнение к ответу @Daniel, я думаю, что существует привязка на основе IP-адреса, настроенная с неверными значениями маски подсети.Если настроено сходство на основе IP-адреса, то маска должна быть 255.255.255.255 для однозначной идентификации соединения на основе IP.Это должно быть проверено и на виртуальных IP-серверах.

...