Mongodb VertX mongo验证客户端返回:未找到用户[用户名]的帐户

Mongodb VertX mongo验证客户端返回:未找到用户[用户名]的帐户,mongodb,vert.x,Mongodb,Vert.x,我正在使用mongodb社区版。我已经在mongodb中创建了一个用户。当使用该用户初始化配置时,该用户存在并且Vertx mongodb客户端成功启动 变量mongoconfig={ “连接字符串”:mongodb://127.0.0.1:27017", “数据库名称”:“管理员”, “用户名”:“用户名”, “密码”:“密码”, “authSource”:“admin”} db.auth命令从mongoshell为同一用户返回1 db.getName() 管理员 db.auth(“用户名”、

我正在使用mongodb社区版。我已经在mongodb中创建了一个用户。当使用该用户初始化配置时,该用户存在并且Vertx mongodb客户端成功启动

变量mongoconfig={ “连接字符串”:mongodb://127.0.0.1:27017", “数据库名称”:“管理员”, “用户名”:“用户名”, “密码”:“密码”, “authSource”:“admin”}

db.auth命令从mongoshell为同一用户返回1

db.getName() 管理员

db.auth(“用户名”、“密码”); 一,

现在,当我尝试使用mongo AuthProvider实现对同一用户进行身份验证时,返回了一个错误:

io.vertx.ext.auth.mongo.AuthenticationException:找不到用户[用户名]的帐户

我的代码与Vertx mongo authprovider实现示例完全相同

var mongoClient = MongoClient.createShared(vertx, mongoconfig);  
var authProperties = {};  
var authProvider = MongoAuth.create(mongoClient, authProperties);  
var authInfo = {   "username" : "username", "password" : "password" };

以前有人遇到过这个问题吗?非常感谢。Vert.x Auth Mongo不使用数据库帐户对用户进行身份验证

相反,它使用数据库中的特定集合(默认情况下,
user
集合)


查看有关的文档部分。

谢谢@tsegimont。这是我在你的评论后得出的结论。如果我没有提到CollectionName,则Auth客户端无法解决此问题,因此会给出一个错误-未找到任何帐户。如果我将集合名称设置为“system.users”和用户名/密码字段,则身份验证提供程序无法识别密码并返回“Invalid username/password”。传递用户名/密码的正确方法是什么?有完整的例子吗?vertx mongo auth示例非常简单。我面临同样的问题。。。当我指向正确的集合时,我会得到包含的用户名和密码错误。你解决了这个问题吗?