Spring Security с использованием сеансов JDBC, использующих один и тот же сеанс в нескольких веб-приложениях

В настоящее время я использую сеансы JDBC в нескольких приложениях, настроенных с помощью безопасности Spring. Мне нужно, чтобы все сеансы одного и того же пользователя использовали один и тот же сеанс во всех приложениях.

Например, user1 заходит под своей учетной записью в applicationA, это корректно создает сессию в базе данных. После этого тот же пользователь1 входит в приложение B из другого браузера, и мне нужно, чтобы этот пользователь делился своим сеансом между обоими приложениями, чтобы из приложения A пользователь мог сохранить что-то в своем сеансе и сделать его доступным из приложения B.

Я знаю, что могу добиться этого, если вручную изменю файл cookie SessionId из браузера в applicationB, но мне нужно, чтобы Spring сделал это самостоятельно после входа в систему.

Я нашел аналогичный вопрос здесь: Как получить один и тот же сеанс с помощью Spring Security и Spring Session с нескольких серверов

Но ответ не правильный.

Дополнительная информация JDBC: конфигурация Oracle: все на Java


person TheTheodorus    schedule 01.06.2021    source источник


Ответы (1)


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

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

person Marcus Hert da Coregio    schedule 04.06.2021