Kesalahan yang dibuat adalah saya menggunakan userAdminAnyDatabase pengguna yang TIDAK di admin database (lihat catatan ini). Jadi ada HARUS menjadi database yang disebut admin di server Anda! Seperti yang dikatakan dokumentasi untuk hak istimewa "AnyDatabase":
Jika Anda menambahkan salah satu peran ini ke dokumen hak pengguna di luar database admin, hak istimewa tidak akan berpengaruh.
Jadi, Anda harus:
-
tambahkan
userAdminAnyDatabasekeadmindb$ mongo admin > db.createUser({ user: "myadmin", pwd: "1234", roles: ["userAdminAnyDatabase"] }) -
aktifkan autentikasi
auth = true setParameter = enableLocalhostAuthBypass=0 -
hubungkan menggunakan
myadminbaru pengguna ke basis data apa pun yang Anda inginkan dan tambahkan pengguna lebih lanjut:$ mongo another -u myadmin -p 1234 > db.createUser({ user: "user", pwd: "1234", roles: ["readWrite"] })atau
> use another > db.createUser({ user: "user", pwd: "1234", roles: ["readWrite"] })