Как генерировать пользовательский JSESSIONID, на основе некоторого хеша данных пользователя для тиражирования сессии

Действительно ли возможно переопределить встроенный генератор Tomcat JSESSIONID, смочь создать пользовательскую стоимость этого cookie, на основе входа в систему пользователя?

Почему делают мне нужно это: у Меня есть подсистема балансировки нагрузки с "липкими сессиями", настроенный к запросам маршрута с тем же JSESSIONID к тому же серверу, и я хочу предотвратить ситуацию, когда тот же пользователь может запустить две различных сессии на различных серверах.

P.S.: все это о Amazon EC2

5
задан Illarion Kovalchuk 14 May 2010 в 12:55
поделиться

2 ответа

3
ответ дан 15 December 2019 в 00:53
поделиться

Вы можете сделать это, определив свой собственный настраиваемый менеджер сеанса,

http://tomcat.apache.org/tomcat-5.5- doc / config / manager.html

Однако, вероятно, это не сработает для вашего варианта использования. Вы не знаете имя пользователя до того, как пользователь войдет в систему, но для входа в систему необходимо создать сеанс.

Я думаю, что перенос сеанса на серверную часть - лучший подход. Вы можете использовать диспетчер сеансов JDBCStore, распространяемый с Tomcat. Вы также можете найти реализацию для memecached.

Если целью нескольких серверов является избыточность, вы также можете использовать кластеризацию, но это не поможет вам, если ваша цель - масштабирование для нагрузки.

1
ответ дан 15 December 2019 в 00:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: