我使用带有基于URL的拦截器的spring security来保护我的应用程序。在用户登录后,我可以在哪些类/哪些点进行自定义处理?
我特别想保存用户最后登录的日期,但我无法弄清楚如何实现这一目标。
非常感谢你的帮助。
答案 0 :(得分:3)
您可以考虑实施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.
}
}
}