VertX mongo auth客户端返回:找不到用户[username]的帐户

时间:2018-07-06 04:48:38

标签: mongodb vert.x

我正在使用mongodb Community Edition。我在mongodb中创建了一个用户。该用户存在,并且使用此用户初始化配置后,Vertx mongodb客户端成功启动。

  

var mongoconfig = {       “ connection_string”:“ mongodb://127.0.0.1:27017”,       “ db_name”:“ admin”,       “ username”:“用户名”,       “ password”:“密码”,       “ authSource”:“ admin”};

db.auth命令从mongo shell中为同一用户返回1。

  

db.getName()   管理员

     

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

现在,当我尝试使用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" };

以前有人遇到过此问题吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

Vert.x Auth Mongo不使用数据库帐户对用户进行身份验证。

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

查看有关Auth Mongo implementation的文档部分。