我有一个名为“CustomUserDetails”的对象,它扩展了 org.springframework.security.core.userdetails.User。那是基本的用户加上自定义字段。当我需要刷新 CustomUserDetails 的某些字段时,我会这样做:
CustomUserDetails principal = (CustomUserDetails) authentication.getPrincipal();
principal.refreshCustomField("value");
当我调用时,在项目的另一部分
CustomUserDetails principal = (CustomUserDetails) authentication.getPrincipal();
principal.getCustomField();
它返回“价值”。
我已经添加了 spring-session-data-redis 来处理多机环境中的会话,但是现在当我尝试做
principal.getCustomField();
它返回空值。
如何更新 Redis 存储库中的 CustomUserDetails 字段?