Плагин Grails Acegi - как обновить кеш? - PullRequest
2 голосов
/ 25 февраля 2010

У меня проблема с плагином Acegi. Проблема в том, что Acegi кеширует информацию пользователя. Если я обновлю роли или пароль, изменение не появится сразу. Некоторое время я могу даже выйти и войти с прежним паролем. Я нашел 2 решения JIRA .

  1. Установить cacheUsers = false в SecurityConfig.groovy
  2. Используйте специальный фильтр для обновления securityContext

Оба решения работают. К сожалению, оба производят множество запросов к базе данных.

Пользователи обновляются только в UserService.update (..), и я могу ожидать, что они будут обновляться редко. Есть ли шанс немедленно обновить securityContext. Это не проблема для текущего пользователя. Но я могу сделать это даже для другого вошедшего в систему пользователя ?? например если администратор меняет роли / пароль для какого-либо пользователя

1 Ответ

1 голос
/ 27 февраля 2010

cacheUsers = false - лучший вариант. Он не производит "нагрузки" запросов, только один на логин. Небольшая дополнительная стоимость перевешивает раздражающие побочные эффекты кэширования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...