通过替换 BASIC auth,我成功地将 OAuth2 集成到我以前的应用程序(REST 服务)中。
然后我得到以下异常:
No qualifying bean of type [org.springframework.transaction.PlatformTransactionManager] is defined: expected single matching bean but found 2: transactionManagerDB2,transactionManager
当我移除 beantransactionManagerDB2
时,它开始正常工作。我有 2 个事务管理器,因为我有 2 个连接的数据库。
由于我有 a InMemoryTokenStore
,我很好奇 a 的要求TransactionManager
。(以及为什么 Oauth 无法默认选择“transactionManager”)
不知何故,我通过 配置了一个 CustomeUserDetailService configureGlobal(AuthenticationManagerBuilder auth){}
,它在之前和现在使用单个 TransactionManager 都可以正常工作。
我使用sparklr-boot Spring Boot 应用程序将 OAuth 与我的应用程序集成。(感谢Dave Syer制作了如此简单易懂的示例)
我在用着:
- 春天 4.2.5
- 弹簧安全 4.0.4
- 春季 OAuth 2.0.9
- (没有弹簧靴)