이 포스트는 정수원님의 스프링 시큐리티 강의 수강 후 정리한 글입니다.

http.logout() // logout
.logoutUrl("/logout") // logoutUrl를 /logout으로 연결
.logoutSuccessUrl("/login") // logout 성공 Url를 /login으로 연결
.addLogoutHandler(new LogoutHandler() { // 새로운 Logouthandler를 작동시켜서
@Override
public void logout(HttpServletRequest request, HttpServletResponse response, Authentication authentication) {
HttpSession session = request.getSession(); // 요청에 대한 세션을 가져와
session.invalidate(); // 세션 무효화 시킴
}
})
.logoutSuccessHandler(new LogoutSuccessHandler() { // 로그아웃이 성공적으로 진행되면 LogoutsuccessHandler를 만들어
@Override
public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException {
response.sendRedirect("/login"); // login으로 Redirect 응답함
}
})
.deleteCookies("remember-me") // remeber-me 쿠키를 지움
;