當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Spring Security——认证失败时获取认证信息(用户名、密码、IP、SESSIONID)
生活随笔
收集整理的這篇文章主要介紹了
Spring Security——认证失败时获取认证信息(用户名、密码、IP、SESSIONID)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
源代碼?
package cn.edu.zstu.shihua.xihu.listener;import cn.edu.zstu.shihua.xihu.model.Log; import cn.edu.zstu.shihua.xihu.service.ILogService; import cn.edu.zstu.shihua.xihu.service.IUserService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationListener; import org.springframework.security.authentication.event.AbstractAuthenticationFailureEvent; import org.springframework.security.web.authentication.WebAuthenticationDetails; import org.springframework.stereotype.Component;import java.time.LocalDateTime;/*** @author ShenTuZhiGang* @version 1.0.0* @date 2020-08-02 13:52*/ @Component @Slf4j public class AuthenticationFailureListenerimplements ApplicationListener<AbstractAuthenticationFailureEvent> {@AutowiredILogService iLogService;@Overridepublic void onApplicationEvent(AbstractAuthenticationFailureEvent event) {Object username = event.getAuthentication().getPrincipal();Object credentials = event.getAuthentication().getCredentials();Object details=event.getAuthentication().getDetails();String ip = ((WebAuthenticationDetails)details).getRemoteAddress();Log loginLog = new Log();loginLog.setOperation("登錄");loginLog.setType("login");loginLog.setIp(ip);loginLog.setOperator((String)username);loginLog.setTime(LocalDateTime.now());loginLog.setStatus("failure");loginLog.setRemark("登錄失敗:"+event.getException().getMessage());iLogService.save(loginLog);} }?
參考文章
如何使用Spring Security從登錄失敗中獲取用戶名?
?
總結
以上是生活随笔為你收集整理的Spring Security——认证失败时获取认证信息(用户名、密码、IP、SESSIONID)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Boot——LocalDa
- 下一篇: 七牛云——对象存储私有空间下载凭证认证失