2016-03-14 3 views
0

Итак, я добавил в Zuul и получить прокси рабочий понял, я должен добавить в «весна-облачной безопасности», который я сделал:загрузки, OAuth2, Zuul Proxy и Версии

<dependency> 
     <groupId>org.springframework.cloud</groupId> 
     <artifactId>spring-cloud-security</artifactId> 
     <version>1.1.0.M2</version> 
    </dependency> 

беда в том, что как только я сделать это я получаю это исключение

Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'loadBalancedOauth2RestTemplate' defined in class path resource [org/springframework/cloud/security/oauth2/client/ OAuth2LoadBalancerClientAutoConfiguration$LoadBalancedOauth2RestTemplateConfig.class]: Unsatisfied dependency expressed through constructor argument with index 2 of typ[org.springframework.security.oauth2.client.resource.OAuth2ProtectedResourceDetails]: : No qualifying bean of type [org.springframework.security.oauth2.client.resource.OAuth2ProtectedResourceDetails] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.security.oauth2.client.resource.OAuth2ProtectedResourceDetails] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {} 
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:749) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] 

, если я действительно делаю боб я получаю это исключение (я имею указав информацию о сервере ресурсов за пределами реквизита/YML):

Caused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [org.springframework.security.oauth2.client.OAuth2RestTemplate] is defined: expected single matching bean but found 2: userInfoRestTemplate,loadBalancedOauth2RestTemplate 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1126) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE] 

Я был через этот предыдущий пост:

https://github.com/spring-cloud/spring-cloud-security/issues/73

Я использую Spring загрузки 1.3.3.RELEASE. Я попробовал (сформировал вышеуказанную публикацию), добавив в управление оттиском:

 <dependency> 
      <groupId>org.springframework.cloud</groupId> 
      <artifactId>spring-cloud-starter-parent</artifactId> 
      <version>Brixton.M3</version> 
      <type>pom</type> 
      <scope>import</scope> 
     </dependency> 

, но безрезультатно.

Я ожидаю, что это проблема с версиями; Каков самый последний набор libs & версий для использования? Я прошел через образец «oauth2-vanilla-ui» в учебнике AngularJS/Security. Это потому, что я не использую реквизиты в файле ресурсов?

ответ

0

Хорошо, мне удалось разобраться. Поэтому я поднял версию «spring-cloud-security» до «1.1.0.M4», поскольку я заметил, что некоторые из автоконфигументов изменились. Кроме того, я оставил свою «OAuth2ProtectedResourceDetails» в качестве компонента и добавил боб «OAuth2RestTemplate», но, самое главное, пометил его как первичный:

@Primary 
@Bean(name = "platformClientRestTemplate") 
public OAuth2RestTemplate clientRestTemplate() { 
    return new OAuth2RestTemplate(platformOAuth2ProtectedResourceDetails(), oauth2ClientContext); 
} 

это означает, что проблема нескольких RestTemplates уходит (и обеспечивает шаблон отдыха я хочет привыкнуть).

Это означает, что я использую (для тех, кто с вопросами версии):

загрузки 1.3.3.RELEASE весна-облако безопасности 1.1.0.M4 весна-облако-стартер-Zuul 1.1.0 .M3

Смежные вопросы