Spring security 3:保存有关数据库中身份validation的信息

我需要保存一些关于用户身份的信息,比如他的IP地址和身份validation日期以及其他内容进入数据库。 换句话说,我想保持连接历史。 我正在使用自定义身份validation提供程序,UserDetailsS​​ervice的实现,但我不知道在哪里放置保存这些信息的代码。

有什么建议么?

由于AbstractAuthenticationProcessingFilter实现ApplicationEventPublisherAware并在成功进行身份validation时触发事件InteractiveAuthenticationSuccessEvent ,因此您只需要侦听该事件并更新数据库。 这将使您的数据库代码保持干净并与安全代码分离。

您需要实现自定义AuthenticationSuccessHandler 。