Как я могу использовать Spring Security с кластером с репликацией сеанса для отработки отказа аутентифицированного пользователя? - PullRequest
7 голосов
/ 09 декабря 2010

Если я использую Spring Security и кластеризацию сервера приложений и реплицирую сеанс http, возможно ли, чтобы аутентифицированный пользователь автоматически переключался на другой узел в кластере и все еще входил в систему?Будет ли лучше использовать распределенный кеш вместо репликации сеанса в кластере?

1 Ответ

2 голосов
/ 15 октября 2011

Да.Контекст безопасности Spring Security хранится в виде значения в вашем сеансе.Таким образом, если ваш сеанс реплицируется, контекст безопасности будет таким же, поэтому не будет иметь значения, к какому работнику обращается ваш аутентифицированный пользователь.

Конечно, репликация сеанса не является мгновенной, поэтому возможно, что если ваш пользователь прошел аутентификацию непосредственно перед тем, как сервер вышел из строя, у отказоустойчивого сервера может не быть возможности подобрать реплицированный контекст.Но если бы они аутентифицировались и продолжили делать кучу вещей, а затем сервер потерпел неудачу, контекст безопасности уже был бы реплицирован, и сеанс пользователя должен был завершиться в том месте, где он остановился, на новом сервере аварийного переключения.

В tomcat vs jboss vs weblogic это будет немного отличаться, поэтому вам действительно нужно протестировать, чтобы убедиться, что ваш конкретный вариант использования покрыт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...