У нас есть сценарий, в котором у нас есть серия приложений, в которых используется Spring-session (w/Redis), где пользователь может несколько раз регистрироваться для доступа к различным приложениям.Несколько приложений, одинаковые сеансы и роли для обновления
Если администратор исправляет пользователя для добавления новой роли (например, доступа к новому приложению) (GrantedAuthority), нам нужно, чтобы это отражалось во всех активных сеансах пользователей.
Проблема заключается в том, что, по моему мнению, SecurityContextHolder использует хранилище ThreadLocal для SecurityContext (которое, в свою очередь, содержит GrantedAuthorities).
Я попытался взаимодействовать с репозиторием сеансов и использовать его для обновления информации о сеансе, но из-за вышеупомянутого хранилища TL он не находит отражение в приложениях.
Существует ли общий шаблон/стратегия для распространения обновлений роли информации таким образом?
Спасибо.
Чтобы уточнить, все ли ваши приложения используют одну и ту же информацию о сеансе, используя один и тот же магазин сеансов Redis? Или вы используете какое-то централизованное решение для аутентификации, такое как OAuth2? –
мы используем то же общее хранилище сеансов Redis. –