Mongodb 没有管理员权限

Mongodb No Access with admin

我 运行遇到了一个奇怪的问题。我用于测试的本地数据库工作正常,但今天在启动后

mongod --auth

我无法再运行 测试,因为身份验证有效但访问数据库被拒绝。

现在我的管理员用户在 authdb admin 中。它具有userAdminAnyDatabase的作用。我尝试用

再次更新用户
db.updateUser("admin", 
    {pwd: "somePass", roles:[
        {role: "userAdminAnyDatabase", db: "admin"}
    ]}
);

但我没有运气。这就是我在数据库中的条目。

{
    "role" : "userAdminAnyDatabase",
    "db" : "admin",
    "isBuiltin" : true,
    "roles" : [ ],
    "inheritedRoles" : [ ]
}

我也再次检查了文档,仍然不知道访问是如何被拒绝的(尤其是之前一切正常的情况下)。问题绝对不在我的节点应用程序中,因为 noSQLBooster 也被拒绝访问。 如果有人知道我目前做错了什么,我将不胜感激。

好的。这是我为解决此问题所做的工作。 (仍然没有解决的是使用旧设置访问数据库是如何工作的)

我不仅将角色 userAdminAnyDatabase 添加到 admin,而且还添加了 dbAdminAnyDatabasereadWriteAnyDatabase

为了让我的测试更安全,我还创建了一个 unitTest 用户和一个 defaultUser 有权访问适当的数据库,这样我就不会 运行 陷入掉线的危险中我的生产数据库不小心。