Как перенести сессию с одного сервера Tomcat на другой? - PullRequest
3 голосов
/ 05 апреля 2011

У нас есть сервер Tomcat для интернет-магазина, и нам нужно перенести пользователя на другой (безопасный) сервер, когда он / она входит в систему. Вот подробное объяснение:

1) У нас есть два сервера Tomcat: один «обычный» (HTTP) и один безопасный (HTTPS)

2) Пользователи изначально посещают обычный сервер

3) Когда они входят в систему, нам нужно получить данные для их входа в систему, а также информацию о том, на какой странице они в данный момент находятся (или пытались увидеть), передать их на защищенный сервер и выполнить фактический вход в систему. ; например, не вошедший в систему пользователь видит список продуктов, нажимает кнопку «КУПИТЬ» и отображает всплывающее окно с просьбой войти в систему; пользователь вводит свои учетные данные, и они, а также информация о том, какой продукт он хочет купить, передаются на защищенный сервер; Защищенный сервер получает их, выполняет вход в систему и отображает запрашиваемый продукт для пользователя

Как это могло быть сделано? Обратите внимание на следующее:

1) Мы пытались делать это с куки, но мы решили не идти по этому пути

2) Сохранение сеанса в базе данных и последующее получение защищенного сервера - также не вариант

Есть ли другие способы? Мы думали о создании объекта и последующей передаче его в качестве параметра HTTP POST, но я не уверен, как это можно сделать (мне дали задание завершить его).

Для этого стоит использовать следующие технологии: сервер Tomcat, Wicket, Spring, iBatis и MySQL.

Заранее спасибо:)

Ответы [ 2 ]

2 голосов
/ 08 апреля 2011

Если вы хотите разделить сеанс между различными экземплярами Tomcat, вы можете настроить их для работы в качестве кластера с репликацией сеанса: http://tomcat.apache.org/tomcat-7.0-doc/cluster-howto.html

Затем вы можете настроить HTTP-сервер Apache для работы в качестве балансировщика нагрузки, убедившись, что HTTP-запросы отправляются на сервер 1, а HTTPS-запросы - на сервер 2.

Но вы также можете иметь только один экземпляр Tomcat (или N идентичных экземпляров), настроенный для обработки как HTTP, так и HTTPS, и обеспечить безопасный доступ со стандартной (...<transport-guarantee>CONFIDENTIAL</transport-guarantee>... в web.xml) или конфигурацией, специфичной для фреймворка.

0 голосов
/ 06 апреля 2011

Не уверен, получаю ли я суть того, что вы хотите, но у вас может быть "всплывающее окно", которое будет отображаться на странице из защищенного приложения по защищенному URL-адресу.Это может привести к аутентификации на безопасном сервере, и вы можете перейти оттуда.Например, если страница незащищенного продукта находится по адресу www.domain.com/browse/id1, то кнопка «Купить» откроет всплывающее окно для secure.domain.com/buy/id1, вызывая аутентификацию при передаче продукта.идентификатор в URL.

...