Mongodb Нет доступа с администратором - PullRequest
0 голосов
/ 12 сентября 2018

У меня странная проблема. Моя локальная база данных для тестирования работала просто отлично, но сегодня после запуска

mongod --auth

Я больше не мог запускать тесты, так как аутентификация работала, но доступ к базе данных был запрещен.

Теперь мой админ-пользователь находится в authdb admin. Он имеет роль userAdminAnyDatabase. Я попытался обновить пользователя снова с

db.updateUser("admin", 
    {pwd: "somePass", roles:[
        {role: "userAdminAnyDatabase", db: "admin"}
    ]}
);

пока мне не повезло. Вот так выглядит моя запись в базе данных.

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

Я также снова проверил документацию и до сих пор не понимаю, как получить доступ (особенно, когда раньше все работало нормально). Проблема определенно не в моем приложении узла, поскольку noSQLBooster также получает отказ в доступе. Буду признателен, если кто-то новый, что я в настоящее время делаю неправильно.

1 Ответ

0 голосов
/ 12 сентября 2018

OK.Вот что я сделал, чтобы это исправить.(Что до сих пор остается нерешенным, так это то, как работал доступ к базе данных со старой установкой)

Я не только добавил роль userAdminAnyDatabase к admin, но также dbAdminAnyDatabase и readWriteAnyDatabase

Чтобы сделать тестирование более безопасным, я также создал пользователя unitTest и defaultUser с правами на соответствующие базы данных, чтобы избежать случайного сброса производительной базы данных.

...