У меня есть 3 приложения с пружинной загрузкой: spring-cloud-gateway
, spring-boot-resource-server
и spring-boot-authentication-server
. Мой spring-boot-resource-server защищен через Oauth, поэтому всякий раз, когда запрашивается api, он сначала аутентифицируется сервером аутентификации с использованием (check_token
) enpoint.
Итак, теперь я могу видеть поток запросов от шлюза к серверу ресурсов в zipkin как единый поток
Запрос-> Шлюз -> Сервер ресурсов
, но запрос (check_token
) отображается как отдельный запрос .
Сервер ресурсов -> Сервер аутентификации
Если я правильно понимаю, он должен быть частью предыдущего запроса
Запрос- > Шлюз -> Сервер ресурсов -> Сервер аутентификации
Я что-то упустил? Я поискал в Интернете и нашел 2 результата:
- spring-security
Из приведенной выше ссылки я думаю, что мне нужно зарегистрировать TraceFilter перед моим OauthFilter, но я, похоже, не нашел никаких фильтров трассировки в текущей версии.
Идентификатор трассировки Zuul на основе приведенной выше ссылки, я считаю, что он будет исправлен в последних выпусках.
Я использую Greenwich.SR3
во всех 3 приложениях.
Обновление
Я напечатал цепочку фильтров, если это помогает.
2020-05-28 14:05:59 DEBUG FilterChainProxy:328 -doFilter - /filter at position 1 of 11 in additional filter chain; firing Filter: 'WebAsyncManagerIntegrationFilter'
2020-05-28 14:05:59 DEBUG FilterChainProxy:328 -doFilter - /filter at position 2 of 11 in additional filter chain; firing Filter: 'SecurityContextPersistenceFilter'
2020-05-28 14:05:59 DEBUG FilterChainProxy:328 -doFilter - /filter at position 3 of 11 in additional filter chain; firing Filter: 'HeaderWriterFilter'
2020-05-28 14:05:59 DEBUG FilterChainProxy:328 -doFilter - /filter at position 4 of 11 in additional filter chain; firing Filter: 'LogoutFilter'
2020-05-28 14:05:59 DEBUG FilterChainProxy:328 -doFilter - /filter at position 5 of 11 in additional filter chain; firing Filter: 'OAuth2AuthenticationProcessingFilter'
2020-05-28 14:05:59 DEBUG FilterChainProxy:328 -doFilter - /filter at position 6 of 11 in additional filter chain; firing Filter: 'RequestCacheAwareFilter'
2020-05-28 14:05:59 DEBUG FilterChainProxy:328 -doFilter - /filter at position 7 of 11 in additional filter chain; firing Filter: 'SecurityContextHolderAwareRequestFilter'
2020-05-28 14:05:59 DEBUG FilterChainProxy:328 -doFilter - /filter at position 8 of 11 in additional filter chain; firing Filter: 'AnonymousAuthenticationFilter'
2020-05-28 14:05:59 DEBUG FilterChainProxy:328 -doFilter - /filter at position 9 of 11 in additional filter chain; firing Filter: 'SessionManagementFilter'
2020-05-28 14:05:59 DEBUG FilterChainProxy:328 -doFilter - /filter at position 10 of 11 in additional filter chain; firing Filter: 'ExceptionTranslationFilter'
2020-05-28 14:05:59 DEBUG FilterChainProxy:328 -doFilter - /filter at position 11 of 11 in additional filter chain; firing Filter: 'FilterSecurityInterceptor'
обновление 2:
Spring Cloud обновлен до Hoxton.SR4
Пример приложения