Tags
- LSL_Script
- emplace_back
- 우수한 프런트 개발자
- postman session
- C++
- postman pre-request
- postman csv
- postman html parse
- 다빈치 리졸브
- postman collection variables
- Interaction developer
- 좋은 개발자
- postman tests
- Front-end developer
- Android/iOS Developer
- Intellij
- Unity
- UI/UX Engineer
- postman automations
- Java
- MFC
- postman collection
- solidity
- web developer
- 프런트엔드
- c#
- Android
- oracle
- postman excel
- postman
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Archives
- Today
- Total
david's daily developer note
[BE] Spring security AuthenticationSuccessEvent & SessionDestroyedEvent 본문
[Develop] Web/Back-end
[BE] Spring security AuthenticationSuccessEvent & SessionDestroyedEvent
mouse-david 2023. 10. 30. 23:23728x90
Spring security 사용자 인증 성공과 사용자 세션 만료를 트랙킹 하는 코드를 간단히 메모한다.
사용자 인증 성공 추적
SecurityConfig에 Bean등록 (AuthenticationEventPublisher)
@Bean
public AuthenticationEventPublisher authenticationEventPublisher
(ApplicationEventPublisher applicationEventPublisher) {
return new DefaultAuthenticationEventPublisher(applicationEventPublisher);
}
EventListener 등록 (AuthenticationSuccessEvent )
@Component
public class UserAuthenticationEvents {
@EventListener
public void handleAuthenticationSuccessEvent(AuthenticationSuccessEvent event) {
Authentication authentication = event.getAuthentication();
//authentication.getPrincipal());
}
}
사용자 세션 만료 추적
사용자가 직접 로그아웃 하거나, 세션이 만료된 경우를 추적한다.
SecurityConfig에 Bean등록 (HttpSessionEventPublisher)
@Bean
public ServletListenerRegistrationBean<HttpSessionEventPublisher> httpSessionEventPublisher() {
return new ServletListenerRegistrationBean<>(new HttpSessionEventPublisher());
}
SessionDestroyedEvent Custom Listener를 등록 (SessionDestroyedEvent)
@Component
public class UserSessionDestroyedEvent implements ApplicationListener<SessionDestroyedEvent> {
@Override
public void onApplicationEvent(SessionDestroyedEvent event) {
List<SecurityContext> securityContextList = event.getSecurityContexts();
for (SecurityContext securityContext : securityContextList) {
//(UserDetails) securityContext.getAuthentication().getPrincipal();
}
}
}
728x90
'[Develop] Web > Back-end' 카테고리의 다른 글
[BE] SpringBoot 3.2.3 developer tools simple note (0) | 2024.03.19 |
---|---|
[BE] IntelliJ + MariaDB Local Setting (1) | 2023.10.24 |
[BE] 포스트맨 + 엑셀 조합으로 API 실행 자동화 -2 (RSA) (0) | 2023.09.19 |
[BE] 포스트맨 + 엑셀 조합으로 API 실행 자동화 -3 (HTML Parsing) (0) | 2023.09.19 |
[BE] 포스트맨 + 엑셀 조합으로 API 실행 자동화 -4 (CSV Automation) (0) | 2023.09.19 |