我遇到了Acegi插件的问题。问题是Acegi缓存用户信息。如果我更新角色或密码,则不会立即显示更改。有一段时间我甚至可以注销并使用以前的密码登录。我找到了2个解决方案JIRA。
两种解决方案都有效。不幸的是,两者都产生了大量的数据库查询。
用户仅在UserService.update(..)中更新,我可以预期它们很少会更新。有没有机会立即更新securityContext。这对当前用户来说没问题。但是我可以为其他登录用户做到吗?例如如果管理员更改某个用户的角色/密码
答案 0 :(得分:1)
cacheUsers = false是最佳选择。它不会产生“加载”查询,每次登录只需一次。轻微的额外成本超过了缓存的恼人副作用。