Spring Boot: пользовательский фильтр не работает после включения автоустановки репозитория

Я реализовал OAuth2 с SSO следующим образом: официальный пример Spring . До сих пор мне удалось заставить его работать, пока мне не пришлось использовать репозитории JPA. При включении автоустановки с использованием @EnableJpaRepositories или @ComponentScan мой настраиваемый фильтр для вызова социального входа, похоже, перестает работать. До сих пор я догадываюсь, что порядок приоритетов изменился, но я не уверен на 100%. Все мои конечные точки приводят к ошибке 404. Я пробовал много альтернатив, таких как @Order(Ordered.HIGHEST_PRECEDENCE) без везения.

Я использую Spring Boot 1.5.8.RELEASE .

Ниже приведена моя конфигурация OAuth:

 @Configuration @EnableOAuth2Client @EnableAuthorizationServer @Order(6) open class OAuth2Configuration : WebSecurityConfigurerAdapter() { @Autowired private lateinit var oAuth2ClientContext: OAuth2ClientContext @Throws(Exception::class) override fun configure(http: HttpSecurity) { http.antMatcher("/**") .authorizeRequests() .antMatchers("/", "/login**", "/index.html").permitAll() .anyRequest().authenticated() .and() .exceptionHandling() .and() .logout().logoutSuccessUrl("/").permitAll() .and() .csrf().csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse()) .and() .addFilterBefore(ssoFilter(), BasicAuthenticationFilter::class.java) } @Configuration @EnableResourceServer open class ResourceServerConfiguration : ResourceServerConfigurerAdapter() { @Throws(Exception::class) override fun configure(http: HttpSecurity) { http.antMatcher("/user").authorizeRequests().anyRequest().authenticated() } } @Bean open fun oauth2ClientFilterRegistration(filter: OAuth2ClientContextFilter): FilterRegistrationBean { val registration = FilterRegistrationBean() registration.filter = filter registration.order = -100 return registration } @Bean @ConfigurationProperties("github") open fun github(): ClientResources { return ClientResources() } private fun ssoFilter(): Filter { val filter = CompositeFilter() val filters = ArrayList<Filter>() filters.add(ssoFilter(github(), "/login/github")) filter.setFilters(filters) return filter } private fun ssoFilter(client: ClientResources, path: String): Filter { val filter = OAuth2ClientAuthenticationProcessingFilter(path) val restTemplate = OAuth2RestTemplate(client.client, oAuth2ClientContext) filter.setRestTemplate(restTemplate) val tokenServices = UserInfoTokenServices(client.resource.userInfoUri, client.client.clientId) tokenServices.setRestTemplate(restTemplate) filter.setTokenServices(tokenServices) return filter } class ClientResources { @NestedConfigurationProperty val client = AuthorizationCodeResourceDetails() @NestedConfigurationProperty val resource = ResourceServerProperties() } } 

Любой мой основной класс:

 @SpringBootApplication @ComponentScan("my.package.example") open class Application fun main(args: Array<String>) { SpringApplication.run(Application::class.java, *args) }