MongoDB 中开启身份验证后出现“未授权”

MongoDB 中开启身份验证后出现“未授权”

我正在按照指示这里尝试安装 Mongo 3.6 并启用身份验证。我已添加“root”用户,并且能够使用 Mongo shell 登录,我还添加了应用程序用户,但是当我尝试使用root我创建的另一个用户 ID 列出数据库或集合时,我收到以下错误:

not authorized on on admin to execute command { listDatabase: 1.0, $db: \"admin\" }

当我尝试使用应用程序用户通过节点应用程序登录时,也会出现此问题。我做错了什么?

答案1

好的,所以问题有两个方面:

  1. 我已将应用程序用户添加到错误的数据库。似乎所有用户都应添加到管理员,而不是要授予权限的数据库
  2. 我的“root”用户缺少一些角色。似乎可以解决这个问题的是“root”角色
  3. 我缺少列出应用程序用户数据库所需的角色。我添加了 clisterMonitor,这似乎有效。

这三者结合在一起似乎允许我从 MongoClient进行show dbsshow collections和调用。listDatabases

相关内容