使用mongo分片进行身份验证

时间:2016-07-05 16:23:45

标签: mongodb authentication

我正在设置Mongo测试分片,并希望使用Mongo用户身份验证。我在配置服务器上添加了用户。我不确定是否需要在所有分片上添加相同的用户。我假设我不需要在查询路由器(mongos)上添加用户。但是,当我只是在配置服务器上添加用户(通过Mongo shell)时,如果我留在shell中,我可以进行身份​​验证。但是,只要我退出shell并重新登录,我就无法使用相同的凭据重新登录。分片服务器确实有一个与它们相关联的数据目录,配置服务器也是如此。有关如何进一步排除故障的任何想法?

创建用户

db.createUser( { user: "test",
                 pwd: "testPassword",
                 roles: [ { role: "clusterAdmin", db: "admin" },
                          { role: "readAnyDatabase", db: "admin" },
                          "readWrite"] },
               { w: "majority" , wtimeout: 5000 } )

认证

db.auth("test", "testPassword")

我确实为配置服务器指定了一个数据目录(在端口27019上运行,而不是27017&数据目录具有mongo进程的正确权限)。

mongod --configsvr --dbpath /var/lib/mongodb3   --port 27019

1 个答案:

答案 0 :(得分:0)

一旦mongo集群正确设置(查询路由器连接到配置服务器和分片与副本集& config serers / shards写入磁盘),我只需通过查询路由器添加用户并获得身份验证Mongo Java驱动程序

相关问题