0
我有一些問題,用@Bean註釋的方法設置一個bean。春天的版本是4.1.4。@Bean方法與參數
時引發的錯誤是:
org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'authenticationManagerBuilder' defined in class org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration: Can only specify arguments for the getBean method when referring to a prototype bean definition
起初我以爲這只是在我的代碼,但後來我刪除了,並開始出現在春季管理豆類如AuthenticationConfiguration。
我在其他項目中使用相同的工具,因此我相信這種配置有問題。
我發現一個問題,指向春季版本4.1.3,但它似乎在下一個版本中修復,所以我不知道可能發生什麼。 https://jira.spring.io/browse/SPR-12488
我又一直在使用這種策略很長一段時間,現在想:
@Bean
public DelegatingTokenGranter delegatingTokenGranter(AuthorizationServerEndpointsConfigurer endpoints) {
return new DelegatingTokenGranter(endpoints);
}
,然後調用的配置是這樣的:
@Override
public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
endpoints
.tokenStore(tokenStore())
.authenticationManager(authenticationManager)
.addInterceptor(oAuth2ThreadContextInterceptor())
.tokenGranter(delegatingTokenGranter(endpoints));
}
有什麼想法?