We have extended the principal with our own User object. This way the object is available with every request. When a user updates his information, the principal needs to updated with this new data. When not using spring-session, this method works. However, with spring-session, it does not.
I checked in the spring-session code, and the RedisOperationsSessionRepository:save(RedisSession session)
only calls session.saveDelta()
, which only saves changed attributes. So, how do we update a principal in session?
Note - the place where the principal is updated is in the service layer, so we do not have access to a SessionAuthenticationStrategy
.