【问题标题】:Grails Acegi Plugin - how to update cache?Grails Acegi Plugin - 如何更新缓存?
【发布时间】:2011-01-21 01:56:44
【问题描述】:

我在使用 Acegi 插件时遇到问题。问题是 Acegi 缓存用户信息。如果我更新角色或密码,更改不会立即出现。有一段时间我什至可以注销并使用以前的密码登录。我找到了 2 个解决方案 JIRA

  1. 在 SecurityConfig.groovy 中设置 cacheUsers = false
  2. 使用特殊过滤器更新 securityContext

两种解决方案都有效。不幸的是,两者都会产生大量的数据库查询。

用户仅在 UserService.update(..) 中更新,我可以预期他们将很少更新。有没有机会立即更新securityContext。对当前用户来说没有问题。但是我可以为另一个登录用户做吗?例如如果管理员更改某些用户的角色/密码

【问题讨论】:

    标签: grails spring-security


    【解决方案1】:

    cacheUsers = false 是最好的选择。它不会产生“负载”的查询,每次登录只会产生一个。轻微的额外成本超过了缓存的烦人副作用。

    【讨论】:

      猜你喜欢
      • 2011-01-26
      • 2011-04-21
      • 2011-01-17
      • 1970-01-01
      • 2011-04-24
      • 1970-01-01
      • 2011-02-19
      • 2010-12-11
      • 1970-01-01
      相关资源
      最近更新 更多