Допуснатата грешка беше, че използвах userAdminAnyDatabase
потребител, който НЕ в админа база данни (вижте тази бележка). Така че има ТРЯБВА да бъде база данни, наречена admin на вашия сървър! Както се казва в документацията за привилегиите "AnyDatabase":
Ако добавите някоя от тези роли към документ за потребителски права извън базата данни на администратора, привилегията няма да има ефект.
Така че трябва:
-
добавете
userAdminAnyDatabase
доadmin
db$ 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"] })