본문 바로가기
프로젝트/Recipository

[Dev] 22.11.22. Logout

by 규글 2022. 11. 22.

로그아웃

    <form th:action="@{/logout}" method="post">
      <button class="btn btn-secondary" th:href="@{/logout}" sec:authorize="isAuthenticated()">로그아웃</button>
    </form>

 기본적인 로그아웃은 간단하다. 우선 로그아웃 버튼의 thymeleaf href 경로를 /logout 으로 표기한다.

 

SpringSecurityConfig.java

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .authorizeRequests(request ->
                        request.antMatchers("/", "/signinform", "/signin", "/duplcheck")
                                .permitAll()
                                .anyRequest().authenticated()
                )
                .formLogin(login ->
                        login.loginPage("/loginform")
                                .loginProcessingUrl("/login")
                                .permitAll()
                                .defaultSuccessUrl("/", false)
                                .failureUrl("/login-failure")
                )
                .logout(logout ->
                        logout.logoutSuccessUrl("/")
                )
                ;
    }

 단순하게 logout success url을 설정해준다. 로그인과 마찬가지로 logoutUrl 을 설정할 수 있으나, '/logout' 이 기본 설정이기때문에 따로 작성해주지는 않았다.

 

 지금은 로그아웃 시 root 페이지로 가도록 설정했으나, 후에는 이에 대한 customizing 이 필요할 것으로 예상하고 있다. 해당 내용은 필요할 때 다시 이곳에 와서 이어서 작성할지, 다른 게시글로 작성할지 결정하도록 하겠다.

댓글