1. 개요

이 예제에서는 주어진 프로필에 대해 Spring Security를 ​​비활성화 하는 방법을 살펴볼 것 입니다.

2. 구성

먼저 모든 요청을 허용하는 Security 구성을 정의 해 보겠습니다.

Spring @ Configuration 에서 WebSecurityConfigurerAdapter확장 하고 모든 경로에 대한 요청을 무시 하여 이를 달성 할 수 있습니다 .

@Configuration
public class ApplicationSecurity extends WebSecurityConfigurerAdapter {
    @Override
    public void configure(WebSecurity web) throws Exception {
        web.ignoring().antMatchers("/**");
    }
}

이렇게하면 인증뿐 아니라 XSS와 같은 Security 보호 도 차단됩니다 .

3. 프로필 지정

이제 주어진 프로필에 대해서만이 구성을 활성화하려고합니다.

Security을 원하지 않는 단위 테스트 스위트가 있다고 가정 해 보겠습니다. 이 테스트 스위트가 "test"라는 프로필로 실행되는 경우 구성에 @Profile 어노테이션을 추가 할 수 있습니다 .

@Profile("test")
@Configuration
public class ApplicationSecurity extends WebSecurityConfigurerAdapter {
    @Override
    public void configure(WebSecurity web) throws Exception {
        web.ignoring().antMatchers("/**");
    }
}

결과적으로 우리의 테스트 환경은 우리가 원하지 않을 수도 있습니다. 또는 Security을 유지하고 Spring Security의 테스트 지원을 사용할 수 있습니다 .

4. 결론

이 예제에서는 특정 프로필에 대해 Spring Security를 ​​비활성화하는 방법을 설명했습니다.

항상 그렇듯이 전체 소스 코드는 GitHub에서 사용할 수 있습니다 .