【发布时间】:2018-07-04 02:54:26
【问题描述】:
我有一个使用 MongoDB 进行持久性的 Spring Boot 应用程序。我正在整理集成测试,并且我正在为嵌入式数据库使用 flapdoodle embedded mongo 库。
这与弹簧靴自动配置相结合,一切都非常适合集成测试。但是,一旦我为 MongoDB 添加了身份验证凭据,一切就崩溃了。
我的理解是spring auto-configure找到了凭证并尝试通过身份验证连接到数据库,但失败了,因为它是一个尚未使用凭证初始化的嵌入式数据库。
我尝试使用mongeez 来初始化春季启动前的凭据,但这个库在凭据感应方面存在同样的问题。
所以我真正的问题:
有没有办法通过身份验证初始化嵌入式数据库?我一直在挖掘源代码,但没有找到任何东西。
【问题讨论】:
-
您可以为 prod 和 integ-tests 添加当前配置吗?
-
我遇到了同样的问题。很想知道这是否/何时得到回答。我收到 com.mongodb.MongoSecurityException: Exception authenticationing MongoCredential
-
@user26270,不幸的是我从来没有找到办法做到这一点。相反,我必须做的是从配置中完全删除凭据,并在生产部署期间在运行时添加它们。因此集成测试将无法测试身份验证。
标签: java mongodb spring-boot spring-data spring-data-mongodb