-
[스프링 시큐리티] LogoutFilter강의노트/스프링 시큐리티 2020. 9. 10. 13:52
LogoutFilter 기능
- 세션 무효화
- 인증 토큰 삭제
- SecurityContext에서 해당 토큰 삭제
- 쿠키 정보 삭제
- 로그인 페이지로 리다이렉트
protected void configure(HttpSecurity http) throws Exception { http.logout() // 로그아웃 처리 .logoutUrl("/logout") // 로그아웃 처리 Url .logoutSuccessUrl("/login") // 로그아웃 성공 후 이동페이지 .deleteCookies("JSESSIONID", "remember-me") // 로그아웃 후 쿠키 삭제 .addLogoutHandler(logoutHandler()) // 로그아웃 핸들러 .logoutSuccessHandler(logoutSuccessHandler()) // 로그아웃 성공 후 핸들러 }
logout 처리의 경우 스프링 시큐리티에서 기본적으로 POST 방식을 이용해서 처리한다.
1~4는 Spring Security에서 제공하는 디폴트 로그아웃 Filter이고 0은 SecurityConfig 설정 클래스(개발자가 정의한 설정 클래스) Filter이다.
SecurityContextLogoutHandler
- 세션 무효화 : session.invalidate()
- Authentication 객체 null로 초기화 : context.setAuthentication(null)
- SecurityContext 객체 삭제 : SecurityContextHolder.clearContext()
'강의노트 > 스프링 시큐리티' 카테고리의 다른 글
[스프링 시큐리티] AnonymousAuthenticationFilter (0) 2020.09.10 [스프링 시큐리티] RememberMeAuthenticationFilter (0) 2020.09.10 [스프링 시큐리티] FilterChainProxy (0) 2020.09.10 [스프링 시큐리티] UsernamePasswordAuthenticationFilter (0) 2020.09.10 [스프링 시큐리티] Form Login 인증 (0) 2020.09.10