当用户进行身份验证时,我需要将一些有关用户的信息(例如他的 IP 地址和身份验证日期以及其他内容)保存到数据库中。换句话说,我想保留连接历史记录。 我正在使用自定义身份验证提供程序,这是 UserDetailsService 的实现,但我不知道在哪里放置保存这些信息的代码。
有什么建议吗?
最佳答案
由于 AbstractAuthenticationProcessingFilter
实现了 ApplicationEventPublisherAware
并在成功身份验证时触发事件 InteractiveAuthenticationSuccessEvent
,因此您只需监听该事件并更新数据库即可。这将使您的数据库代码保持干净并与安全代码分离。
关于java - Spring 安全3 : Save informations about authentification in database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5105248/