MongoDB Java Driver 3.x在连接后进行身份验证

时间:2017-02-03 13:41:42

标签: java mongodb

我们使用“每个租户数据库”策略,意味着每个客户都有自己的MongoDB数据库(而不是MongoDB实例)。每个数据库都有自己的用户。 https://www.mongodb.com/presentations/securing-mongodb-to-serve-an-aws-based-multi-tenant-security-fanatic-saas-application

为了能够使用连接池,我需要在没有用户或普通用户的情况下连接到Mongo实例(或副本集),并在需要时更改连接并进行身份验证。

shell的文档描述了如何执行此操作: https://docs.mongodb.com/manual/tutorial/enable-authentication/

  • 连接
  • 使用admin
  • db.auth(user,admin)

但Java驱动程序中没有此功能。 我知道我可以在MongoClient初始化期间传递凭据,但我将MongoClient保持为Singleton(如推荐的那样)。添加新租户意味着重新初始化MongoClient。

也许runCommand可以做到这一点,但我不知道authenticate命令的BSON

此致 托马斯

0 个答案:

没有答案