1. Обзор
В этом руководстве мы рассмотрим, как мы можем отключить Spring Security для данного профиля .
2. Конфигурация
Прежде всего, давайте определим конфигурацию безопасности, которая просто разрешает все запросы.
Мы можем добиться этого, расширив WebSecurityConfigurerAdapter
в Spring @ Configuration
и игнорируя запросы для всех путей.
@Configuration
public class ApplicationSecurity extends WebSecurityConfigurerAdapter {
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().antMatchers("/**");
}
}
Помните, что это отключает не только аутентификацию, но и любые средства защиты, такие как XSS.
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 Security для определенного профиля.
Как всегда, полный исходный код доступен на GitHub .