Допуснатата грешка беше, че използвах userAdminAnyDatabase потребител, който НЕ в админа база данни (вижте тази бележка). Така че има ТРЯБВА да бъде база данни, наречена admin на вашия сървър! Както се казва в документацията за привилегиите "AnyDatabase":
Ако добавите някоя от тези роли към документ за потребителски права извън базата данни на администратора, привилегията няма да има ефект.
Така че трябва:
-
добавете
userAdminAnyDatabaseдоadmindb$ mongo admin > db.createUser({ user: "myadmin", pwd: "1234", roles: ["userAdminAnyDatabase"] }) -
включете удостоверяването
auth = true setParameter = enableLocalhostAuthBypass=0 -
свържете се с новия
myadminпотребител към всяка база данни, която искате, и добавете още потребители:$ mongo another -u myadmin -p 1234 > db.createUser({ user: "user", pwd: "1234", roles: ["readWrite"] })или
> use another > db.createUser({ user: "user", pwd: "1234", roles: ["readWrite"] })