Spring Security: В какой момент я узнаю, что пользователь вошел в систему? - PullRequest
0 голосов
/ 14 апреля 2011

Я использую Spring Security с перехватчиками на основе URL для защиты моего приложения. В каких классах / в каких точках я могу выполнить некоторую пользовательскую обработку после входа пользователя в систему?

Я специально хочу сохранить дату последнего входа пользователя, но не могу понять, как этого добиться.

Большое спасибо за вашу помощь.

1 Ответ

3 голосов
/ 14 апреля 2011

Можно рассмотреть возможность реализации интерфейса org.springframework.context.ApplicationListener .

Затем вы должны были бы прослушивать org.springframework.security.authentication.event.AuthenticationSuccessEvent .

После этого вы можете сохранить логин вашего пользователя.

Возможный пример кода:

public void onApplicationEvent(ApplicationEvent event) {

    if (event instanceof AuthenticationSuccessEvent) {

        try {

            AuthenticationSuccessEvent authenticationSuccessEvent = (AuthenticationSuccessEvent) event;

            Authentication authentication = authenticationSuccessEvent.getAuthentication();

            //Persist your user's login here.

        } catch (Exception e) {

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