또, @EnableRedisHttpSession 이런 어노테이션으로 Session을 관리하도록 하면 전적으로 control이 안먹히는 듯하다. (stack-overflow 어느 포스트에서 참고)
ApplicationListener<SessionCreatedEvent, DestroyedEvent> 을 implements 한 클래스를 bean으로 등록해 이벤트를 감지하여 로깅을 해볼 수 있을 듯하다.. (어느 포스트에서 참고)
브라우저 시크릿 모드에서(캐시가 초기화된 상태) 설정이 제대로 동작함 확인
Session Timeout 시 로그를 남길 수 있는 방법은 없을까
https://youtu.be/5IuK5emO_t4?feature=shared&t=426 영상을 보면 SecurityFilterChain 에서 server.servlet.session.timeout=5s 설정 후, 웹 접속 및 세션 만료 이후에 화면 새로고침 시 http.sessionManagement(configurer -> configurer.invalidSessionUrl(...) 로 설정한 페이지로 이동한다?
InvalidSessionStrategy 인터페이스 구현체를 securityFilterChain에 등록함으로써 해결
공식 문서에 따르면 default로 SimpleRedirectInvalidSessionStrategy 를 사용하는 것 같고, 구현체 내부 destinationUrl은 securityFileterChain 의 login URL로 설정되는 듯하다.(코드로 확인한 것은 아니고 동작 테스트로 유추)
InvalidSessionStrategy 인터페이스를 상속받아 Session 종료 시 로그를 남기도록 구현하면 된다.
Session timeout 관련 설정이 제대로 안먹히는 것 같다
Session Timeout 시 로그를 남길 수 있는 방법은 없을까
SecurityFilterChain
에서server.servlet.session.timeout=5s
설정 후, 웹 접속 및 세션 만료 이후에 화면 새로고침 시http.sessionManagement(configurer -> configurer.invalidSessionUrl(...)
로 설정한 페이지로 이동한다?InvalidSessionStrategy
인터페이스 구현체를 securityFilterChain에 등록함으로써 해결SimpleRedirectInvalidSessionStrategy
를 사용하는 것 같고, 구현체 내부destinationUrl
은 securityFileterChain 의 login URL로 설정되는 듯하다.(코드로 확인한 것은 아니고 동작 테스트로 유추)InvalidSessionStrategy
인터페이스를 상속받아 Session 종료 시 로그를 남기도록 구현하면 된다.