STUDY/Spring

Spring Boot | Spring Security Debug 콘솔 출력하기

개미606 2021. 6. 25. 13:22

1. @EnableWebSecurity에서 설정하기

@EnableWebSecurity어노테이션에 debug설정을 true로 설정한다. (기본은 false)

@Configuration
@EnableWebSecurity(debug = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {

}

debug 콘솔 출력을 활성화 한 후 애플리케이션을 실행해보면, 아래와 같이 콘솔이 출력된다.

민감한 정보를 포함하고 있으므로 실제로 배포할 때는 활성화 하지 말라는 내용..

이렇게 코드상으로 설정해두면, 빌드할 때 마다 코드를 수정해야 하므로 번거로워지기 때문에 아래의 두 번째 방법을 사용하는 것이 좋다.

2. 설정파일 이용하기 (추천)

설정파일에 원하는 값으로 설정한다. spring.security.debugtrue로 설정한 뒤,

spring:
  security:
    debug: true

@Value어노테이션을 이용해 설정 값을 동적으로 가져온다.
:false를 해주었기 때문에 해당 설정을 찾을 수 없으면 false가 기본값이 된다.
애플리케이션 설정파일을 이용하면 스프링 프로필 별로 설정값을 다르게 적용할 수 있기 때문에 이 방법이 훨씬 효율적이다.

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Value("${spring.security.debug:false}")
    boolean securityDebug;

    @Override
    public void configure(WebSecurity web) throws Exception {
        web.debug(securityDebug);
    }
}