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
userAdminAnyDatabase
keadmin
db$ mongo admin > db.createUser({ user: "myadmin", pwd: "1234", roles: ["userAdminAnyDatabase"] })
-
aktifkan autentikasi
auth = true setParameter = enableLocalhostAuthBypass=0
-
hubungkan menggunakan
myadmin
baru 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"] })