Setiap kali Anda mengatur mongodb, Anda harus membuat pengguna admin dengan peran userAdminAnyDatabase, dan Anda akan dapat membuat pengguna ini bahkan mongod dimulai dengan --auth atau tidak. Anda dapat membuat pengguna ini dengan perintah di bawah ini.
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "abc123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
Setelah ini jika otorisasi tidak diaktifkan, aktifkan dengan menjalankan mongod dengan flag --auth, atau aktifkan otorisasi di mongod.conf dan mulai ulang server mongod.
Kemudian login ke mongo shell dengan perintah di bawah ini dengan pengguna admin
mongo --port 27017 -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin"
Buka database, dan buat pengguna dengan izin readWrite.
use myapplication
db.createUser(
{
user: "myTester",
pwd: "xyz123",
roles: [ { role: "readWrite", db: "myapplication" }]
}
)
Sekarang Anda dapat menggunakan pengguna myTester untuk membaca/menulis di database aplikasi saya, dan setiap kali Anda membuat database baru, mulai mongo shell dengan pengguna myUserAdmin dan buat pengguna baru untuk database baru.
Di mongodb Anda juga dapat membuat satu pengguna, dan memberinya semua izin untuk semua basis data, tetapi Anda tidak boleh melakukannya.
Jika Anda ingin meneliti lebih lanjut, Anda dapat memeriksa tautan di bawah ini. https://docs.mongodb.com/v3.2/tutorial/ aktifkan-otentikasi/
Dan ketika Anda secara tidak sengaja mengunci mongodb, Anda dapat mematikan otorisasi dari file mongod.conf dan mengakses data Anda.