【发布时间】:2011-01-21 01:56:44
【问题描述】:
我在使用 Acegi 插件时遇到问题。问题是 Acegi 缓存用户信息。如果我更新角色或密码,更改不会立即出现。有一段时间我什至可以注销并使用以前的密码登录。我找到了 2 个解决方案 JIRA。
- 在 SecurityConfig.groovy 中设置 cacheUsers = false
- 使用特殊过滤器更新 securityContext
两种解决方案都有效。不幸的是,两者都会产生大量的数据库查询。
用户仅在 UserService.update(..) 中更新,我可以预期他们将很少更新。有没有机会立即更新securityContext。对当前用户来说没有问题。但是我可以为另一个登录用户做吗?例如如果管理员更改某些用户的角色/密码
【问题讨论】: