Я хочу, чтобы метод в компоненте поддержки области действия вызывался после входа пользователя в систему. Как я могу это сделать?
Среда: Spring Security 3.0.x, Spring 3.0.x и JSF 1.2.Основными компонентами управляет Spring.
Справочная информация: сеансы создаются даже без входа в систему.Мой бин области действия содержит параметры, которые изначально установлены в значения по умолчанию.После входа в систему я хочу обновить состояние сеанса до предпочтений, сохраненных в базе данных для этого конкретного пользователя.Чтобы добиться этого, я представлял интерфейс или даже более простой аннотированный (например, @PostLogin
) метод, но пока я не нашел ничего подобного.
Было бы хорошо, если бы этот метод вызывался при каждом основном изменениито есть тоже на выходе.Также было бы приемлемо, если бы весь бин был разрушен и воссоздан при входе в систему, хотя мои другие сессионные бины должны выжить.
На данный момент я нашел следующее:
- ApplicationListener : Слушателю, видимо, нужна область приложения, и я не могу получить доступ к своему сессионному компоненту в нем.
@Autowired
плюс прокси не работает.Введенный объект сломан;он не содержит своих зависимостей, хотя реальный компонент поддержки содержит. - : не пробовал это, но мне нужно, чтобы метод вызывался независимо от используемой процедуры входа в систему.Помимо форм, мы поддерживаем запомнить меня и программный вход (например, автоматический вход в систему после процесса забытого пароля).