У меня проблема с плагином Acegi. Проблема в том, что Acegi кеширует информацию пользователя. Если я обновлю роли или пароль, изменение не появится сразу. Некоторое время я могу даже выйти и войти с прежним паролем. Я нашел 2 решения JIRA .
- Установить cacheUsers = false в SecurityConfig.groovy
- Используйте специальный фильтр для обновления securityContext
Оба решения работают. К сожалению, оба производят множество запросов к базе данных.
Пользователи обновляются только в UserService.update (..), и я могу ожидать, что они будут обновляться редко. Есть ли шанс немедленно обновить securityContext. Это не проблема для текущего пользователя. Но я могу сделать это даже для другого вошедшего в систему пользователя ?? например если администратор меняет роли / пароль для какого-либо пользователя