Felet som gjordes var att jag använde en userAdminAnyDatabase användare som INTE var i admin databas (se denna not). Så det MÅSTE vara en databas som heter admin på din server! Som dokumentationen säger för "AnyDatabase"-privilegierna:
Om du lägger till någon av dessa roller till ett användarbehörighetsdokument utanför administratörsdatabasen, kommer privilegiet inte att ha någon effekt.
Så du måste:
-
lägg till en
userAdminAnyDatabasetilladmindb$ mongo admin > db.createUser({ user: "myadmin", pwd: "1234", roles: ["userAdminAnyDatabase"] }) -
aktivera autentisering
auth = true setParameter = enableLocalhostAuthBypass=0 -
anslut med den nya
myadminanvändare till vilken databas du vill och lägg till ytterligare användare:$ mongo another -u myadmin -p 1234 > db.createUser({ user: "user", pwd: "1234", roles: ["readWrite"] })eller
> use another > db.createUser({ user: "user", pwd: "1234", roles: ["readWrite"] })