【发布时间】:2016-06-16 07:09:51
【问题描述】:
通过替换 BASIC auth,我成功地将 OAuth2 集成到我之前的应用程序(REST 服务)中。
然后我得到以下异常:
No qualifying bean of type [org.springframework.transaction.PlatformTransactionManager] is defined: expected single matching bean but found 2: transactionManagerDB2,transactionManager
当我删除 bean transactionManagerDB2 时,它开始正常工作。
我有 2 个事务管理器,因为我有 2 个连接的数据库。
由于我有一个InMemoryTokenStore,我很好奇TransactionManager 的要求。 (以及为什么 Oauth 无法通过默认名称获取“transactionManager”)
不知何故,我通过configureGlobal(AuthenticationManagerBuilder auth){} 配置了一个CustomeUserDetailService,以前和现在使用单个TransactionManager 都可以正常工作。
我使用sparklr-boot Spring Boot 应用程序将 OAuth 与我的应用程序集成。 (感谢Dave Syer 做了这么简单易懂的例子)
我正在使用:
- 春季 4.2.5
- Spring 安全 4.0.4
- Spring OAuth 2.0.9
- (无 Spring Boot)
【问题讨论】:
标签: spring-mvc spring-security spring-security-oauth2 spring-oauth2