Spring security 3: сохранить информацию об аутентификации в базе данных - PullRequest
2 голосов
/ 24 февраля 2011

Мне нужно сохранить некоторую информацию о пользователе, когда он аутентифицирован, например, его IP-адрес, дату аутентификации и другие данные, в базу данных. Другими словами, я хочу сохранить историю подключений. Я использую пользовательский поставщик аутентификации, реализацию UserDetailsService, но я не знаю, куда поместить код сохранения этой информации.

Есть предложения?

Ответы [ 2 ]

2 голосов
/ 25 февраля 2011

Поскольку AbstractAuthenticationProcessingFilter реализует ApplicationEventPublisherAware и запускает событие InteractiveAuthenticationSuccessEvent при успешной аутентификации, вам просто нужно прослушать это событие и обновить базу данных.Это сохранит код вашей базы данных чистым и отделенным от кода безопасности.

1 голос
/ 25 февраля 2011

Вам необходимо реализовать свой пользовательский AuthenticationSuccessHandler .

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