Spring Security - Logout 흐름, LogoutFilter

2021. 4. 15. 11:43SPRING/SPRING SECURITY

  1. 로그아웃 요청이 온다
  2. LogoutFilter가 요청을 받아 RequestMatcher로 요청정보 매칭을 확인한다.
  3. 요청정보가 매칭되면 SecurityContext에서 인증객체를 가져와 LogoutHandler를 실행한다.
  4. Spring Security는 이미 여러 핸들러를 만들어놨고, 각 핸들러에서 로그아웃시 필요한 세션 무효화, 쿠키삭제, SecurityContext에서 인증객체 삭제 등 기본 작업을 수행한다. 이 때, 사용자가 정의한 핸들러(addLogoutHandler())도 같이 수행된다.
  5. 로그아웃이 성공하면 성공 핸들러(logoutSuccessHandler())가 수행된다.