로그아웃 처리

귀찮Lee·2022년 9월 3일
0

Spring Security

목록 보기
10/13

◎ 로그아웃 처리 Filter 구조

◎ 로그아웃 설정

  • SecurityConfig

    @Configuration
    @EnableWebSecurity
    @EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true)
    public class SecurityConfig {
        @Bean
        public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
    
            http
                    ...
                    .and().logout()
                    .logoutUrl("/api/logout") // POST 요청으로 logout을 요청할 URL
                    .logoutSuccessUrl("/auth/logout/success") // 로그아웃 성공시 후처리하는 api
                    .invalidateHttpSession(true) // 세션 무효화
                    .deleteCookies("JSESSIONID")  // 쿠키 삭제
                    ...
    
            return http.build();
        }
    }
  • 후처리 API

    @Controller
    @RequestMapping("/auth")
    public class SecurityController {
    
        @GetMapping("/logout/success")
        public ResponseEntity successLogout(){
            return new ResponseEntity(
                    new Response(200, "정상적으로 로그아웃 되었습니다."), HttpStatus.OK);
        }
    
    }

◎ 참조자료

profile
배운 것은 기록하자! / 오류 지적은 언제나 환영!

0개의 댓글