java - Spring 安全3 : Save informations about authentification in database

标签 java spring-security

当用户进行身份验证时,我需要将一些有关用户的信息(例如他的 IP 地址和身份验证日期以及其他内容)保存到数据库中。换句话说,我想保留连接历史记录。 我正在使用自定义身份验证提供程序,这是 UserDetailsS​​ervice 的实现,但我不知道在哪里放置保存这些信息的代码。

有什么建议吗?

最佳答案

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

关于java - Spring 安全3 : Save informations about authentification in database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5105248/

相关文章:

java - 更新 Lucene 索引中的文档时如何避免 OutOfMemoryErrors?

Java循环遍历列表的问题

java - 找不到符号 - 方法 readInt(java.lang.String)

spring - 在 Tomcat 上安装基于 spring 的应用程序

java - 如何使用 Spring Security 自动注销

java - 一个简单的创建用户语句失败?

java - 在哪些情况下使用 getApplicationContext() 函数

spring - 如何在 Spring Security 中为 REST API 调用返回 401?

grails - 在Grails中使用外部Web服务验证用户

spring-mvc - 如何使用带有注释@PreAuthorize ("hasRole(' ADMIN')") 的安全方法在 Controller 上进行 spring 云契约(Contract)测试?