Dari Tutorial Java Mongo
MongoDB dapat dijalankan dalam mode aman di mana akses ke database dikendalikan melalui otentikasi nama dan kata sandi. Saat dijalankan dalam mode ini, aplikasi klien apa pun harus memberikan nama dan kata sandi sebelum melakukan operasi apa pun. Di driver Java, Anda cukup melakukan hal berikut dengan objek mongo yang terhubung:
boolean auth = db.authenticate(myUserName, myPassword);
Jika nama dan kata sandi valid untuk database, auth akan benar. Jika tidak, itu akan menjadi palsu. Anda harus melihat log MongoDB untuk informasi lebih lanjut jika tersedia.
Sebagian besar pengguna menjalankan MongoDB tanpa autentikasi di lingkungan tepercaya.
Mengonfigurasi Otentikasi dan Keamanan
Otentikasi disimpan dalam koleksi system.users setiap database. Misalnya, pada database projectx, projectx.system.users akan berisi informasi pengguna.
Pertama-tama kita harus mengkonfigurasi pengguna administrator untuk seluruh proses server db. Pengguna ini disimpan di bawah database admin khusus.
Jika tidak ada pengguna yang dikonfigurasi di admin.system.users, seseorang dapat mengakses database dari antarmuka localhost tanpa mengautentikasi. Jadi, dari server yang menjalankan database (dan dengan demikian di localhost), jalankan shell database dan konfigurasikan pengguna administratif:
$ ./mongo
> use admin
> db.addUser("theadmin", "anadminpassword")
Kami sekarang memiliki pengguna yang dibuat untuk admin database. Perhatikan bahwa jika sebelumnya kita belum mengautentikasi, sekarang kita harus melakukannya jika ingin melakukan operasi lebih lanjut, karena ada pengguna di admin.system.users.
> db.auth("theadmin", "anadminpassword")
Kita dapat melihat pengguna yang ada untuk database dengan perintah:
> db.system.users.find()
Sekarang, mari konfigurasikan pengguna "biasa" untuk database lain.
> use projectx
> db.addUser("joe", "passwordForJoe")
Terakhir, mari tambahkan pengguna readonly. (hanya didukung di 1.3.2+)
> use projectx
> db.addUser("guest", "passwordForGuest", true)