De gemaakte fout was dat ik een userAdminAnyDatabase
. gebruikte gebruiker die NIET . was in de beheerder databank (zie deze opmerking). Dus er MOET een database zijn met de naam admin op uw server! Zoals de documentatie zegt voor de "AnyDatabase"-rechten:
Als u een van deze rollen toevoegt aan een document met gebruikersprivileges buiten de beheerdersdatabase, heeft het privilege geen effect.
Dus je moet:
-
voeg een
userAdminAnyDatabase
toe naar deadmin
db$ mongo admin > db.createUser({ user: "myadmin", pwd: "1234", roles: ["userAdminAnyDatabase"] })
-
verificatie inschakelen
auth = true setParameter = enableLocalhostAuthBypass=0
-
maak verbinding met de nieuwe
myadmin
gebruiker naar elke gewenste database en voeg meer gebruikers toe:$ mongo another -u myadmin -p 1234 > db.createUser({ user: "user", pwd: "1234", roles: ["readWrite"] })
of
> use another > db.createUser({ user: "user", pwd: "1234", roles: ["readWrite"] })