Рубрики
Без рубрики

Отключите защиту профиля в Spring Boot

Краткое и практическое руководство по отключению безопасности Spring для определенного профиля в Spring Boot.

Автор оригинала: baeldung.

1. Обзор

В этом уроке мы рассмотрим, как мы можем отключить безопасность Spring для данного профиля .

2. Конфигурация

Прежде всего, давайте определим конфигурацию безопасности, которая просто разрешает все запросы.

Мы можем достичь этого, расширив WebSecurityConfigurerAdapter в Spring @ Configuration и игнорируя запросы для всех путей.

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

Помните, что это отключает не только аутентификацию, но и любые средства защиты, такие как CSS.

3. Укажите Профиль

Теперь мы хотим активировать эту конфигурацию только для данного профиля.

Предположим, у нас есть набор модульных тестов, в котором нам не нужна безопасность. Если этот набор тестов работает с профилем с именем “test” , мы можем просто аннотировать нашу конфигурацию с помощью @Profile :

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

Следовательно, наша тестовая среда будет отличаться, чего мы, возможно, не захотим. В качестве альтернативы мы можем оставить безопасность включенной и использовать поддержку тестирования Spring Security .

4. Заключение

В этом руководстве мы проиллюстрировали, как отключить защиту Spring для определенного профиля.

Как всегда, полный исходный код доступен на GitHub .