Мы расширили принцип с помощью нашего собственного объекта User. Таким образом, объект доступен при каждом запросе. Когда пользователь обновляет свою информацию, принципалу необходимо обновить эти новые данные. Если не используется spring-session, этот метод работает а>. Однако с весенней сессией это не так.
Я проверил код весенней сессии, и RedisOperationsSessionRepository:save(RedisSession session)
вызывает только session.saveDelta()
, который сохраняет только измененные атрибуты. Итак, как нам обновить принципала в сеансе?
Примечание. Место, где обновляется принципал, находится на уровне службы, поэтому у нас нет доступа к файлу SessionAuthenticationStrategy
.