스터디-Spring

[스프링 시큐리티] LogoutFilter - 로그아웃 처리 필터

일태우 2022. 2. 8. 22:22

LogoutHandler (Composite 객체 - 여러개의 LogoutHandler를 사용하고 있다)

LogoutSuccessHandler (Logout을 성공한 다음 처리를 위한 객체) - 기본 객체 SimpleUrlLogoutSuccessHandler

 

logout process

LogoutFilter -> CompositeLogoutHandler(LogoutHandler 여러개를 갖고있음)

-> csrf 사용시 csrf token을 null로 변경(CsrfLogoutHandler)

-> session을 invalidate함(초기화), 그리고 SecurityContextHolder를 비움 (SecurityContextLogoutHandler)

 

HttpSecurity config에서의 logout설정

http.logout()
        .logoutUrl("/logout")
        .logoutSuccessUrl("/")
        .logoutRequestMatcher()
        .invalidateHttpSession(true)
        .deleteCookies()
        .addLogoutHandler()
        .logoutSuccessHandler();