EnableWebFluxSecurity заражение с веб-зависимостью - PullRequest
0 голосов
/ 05 февраля 2019

Я пытаюсь комментировать SecurityWebFilterChain класс с @EnableWebFluxSecurity:

@EnableWebFluxSecurity
public class AccessIqWebSecurityConfigurerAdapter {

При загрузке приложения я получаю следующую ошибку:

org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка создания бина с именем 'org.springframework.security.config.annotation.web.reactive.WebFluxSecurityConfiguration': неудовлетворенная зависимость, выраженная через поле 'securityWebFilterChains';вложенное исключение - org.springframework.beans.factory.BeanCreationException: ошибка создания бина с именем 'springSecurityFilterChain', определенного в ресурсе пути к классу [com / config / AccessIqWebSecurityConfigurerAdapter.class]: сбой создания экземпляра бина с помощью метода фабрики;вложенным исключением является org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр [org.springframework.security.web.server.SecurityWebFilterChain]: фабричный метод 'springSecurityFilterChain' вызвал исключение;Вложенное исключение - java.lang.IllegalArgumentException: clientRegistrationRepository не может быть нулевым

Когда я удаляю compile("org.springframework.boot:spring-boot-starter-web").Оно работает.но мне нужно compile("org.springframework.boot:spring-boot-starter-web") для чванства, Mockmvc и т. д. Есть идеи?

1 Ответ

0 голосов
/ 05 февраля 2019

Как указано в справочной документации , добавление зависимости spring-boot-starter-web к вашему приложению скажет Spring Boot настроить его как приложение Spring MVC.

Вы могли бы дать еще один советSpring Boot, чтобы сделать его по-прежнему приложением Spring WebFlux (через SpringApplication.setWebApplicationType(WebApplicationType.REACTIVE)), но в вашем случае это не поможет:

  • Вы должны использовать интеграцию swagger, совместимую с WebFlux (я нене знаю, существует ли он)
  • Вы должны рассмотреть WebTestClient вместо MockMvc
...