我们最近将数据库迁移到了Mongo 4.0。我们为该应用程序创建了一个新用户,并且从数据库端启用了SCRAM-SHA-256。令我惊讶的是,我们正在使用的现有mongo驱动程序为3.8.2,可以正常运行,而无需在应用程序端对配置进行任何更改,我尚未指定 authMechanism 配置中的参数。客户端如何知道身份验证机制?
我的理解是默认机制将是SCRAM-SHA-1,并且身份验证应失败。我检查了一下代码,但从某些博客中发现它是如何工作的,我发现我会使用 saslSupportedMechs 来调用isMaster,它将提供受支持的SASL机制,我的理解正确吗?在vertx mongo客户端中哪里可以找到此代码?
MongoConnnection字符串:
mongoConnectionJson = new JsonObject().put("connection_string", "mongodb://testhost:6005")
.put("db_name", "test_db")
.put("username", "test_sha-256")
.put("password", "test_sha-256")
.put("authSource", "test_db");
答案 0 :(得分:1)
理论上,默认的auth机制选择可能因一个驱动程序而异,但对于Ruby驱动程序,应类似于the description here: