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 .