使用 SCRAM-SHA-1 在猫鼬中进行身份验证

2023-11-21

我最近从 MongoDB 2.6 升级到 3.0.4,还将 Mongoose 版本升级到 4.0.0。

现在每当我尝试使用 mongoose 连接到 mongodb 时:

mongoose.connect('mongodb://user:password@host:port/dbname')

在 mongo 日志上我收到此消息

来自客户端的 dbname 上的用户 SCRAM-SHA-1 身份验证失败 xxx.xxx.xxx.xxx

我检查了mongodb,该用户存在于管理员中。我使用的命令是db.system.users.findOne({user:'user'})

该语句返回的信息包含SCRAM-SHA-1信息。

我的问题是如何在建立连接时在 mongoose 中指定 SCRAM 相关信息。我读了很多文章,但未能理解它是如何完成的


找到了解决方案,我没有传递authDatabase名称,这就是连接失败的原因。早些时候我用过这个

mongoose.connect('mongodb://user:password@host:port/dbname')

现在我用这个

mongoose.connect('mongodb://user:password@host:port/dbname?authSource=dbWithUserCredentials')

找到了这个解决方案讨论话题猫鼬本身

Edit:

别忘了更换dbWithUserCredentials与你自己的。在大多数情况下 dbWithUserCredentials 将是管理员。所有登录凭据(例如用户名、密码)已在传递给的参数中指定mongoose.connect().

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 SCRAM-SHA-1 在猫鼬中进行身份验证 的相关文章

随机推荐