在 Spring Security/MVC 之前,我有一个简单的相对不安全的用户对象存储在我的会话中,它包含大量数据,我会在我的服务逻辑中更新,然后在每次修改时存储回会话中。
现在我已经成功地将我的 userobject 锁定为具有相同复杂数据结构的 Principal 对象。与之前一样,用户对象在身份验证后可用于视图,其初始状态存储在其中,但似乎我实现 UserDetails 的用户对象现在不可更改(无需在每个请求上创建新的身份验证对象)。它当然不能像我以前对会话所做的那样被藏回修改后的 SecurityContext 中。
所以我想我要么需要:
A. 重组我的 UserObject 以从那里获取所有其他内容,并在使用自定义过滤器进行身份验证后将它们添加到会话中,
B. 每次更改后创建一个新的身份验证对象(听起来超级昂贵......)
C. 其他一些我还没有看到或理解的东西......
我检查了很多答案,这似乎是一个常见问题,但没有一个能解决我的具体问题/问题。我在这里错过了一些非常明显的东西吗?