Rumah > pangkalan data > MongoDB > teks badan

Bagaimana untuk melaksanakan fungsi kawalan kebenaran data dalam MongoDB

王林
Lepaskan: 2023-09-19 14:03:43
asal
1321 orang telah melayarinya

Bagaimana untuk melaksanakan fungsi kawalan kebenaran data dalam MongoDB

Cara melaksanakan fungsi kawalan kebenaran data dalam MongoDB

Dalam aplikasi data moden, selalunya perlu untuk melaksanakan kawalan kebenaran data untuk memastikan hanya pengguna yang diberi kuasa boleh mengakses dan mengendalikan data tertentu. Sebagai pangkalan data NoSQL yang popular, MongoDB juga menyediakan beberapa mekanisme untuk melaksanakan kawalan kebenaran data. Artikel ini akan memperkenalkan cara melaksanakan fungsi kawalan kebenaran data dalam MongoDB dan memberikan contoh kod khusus.

  1. Buat pengguna dan peranan
    Dalam MongoDB, uruskan kebenaran pada data anda dengan mencipta pengguna dan peranan. Pertama, anda perlu mencipta pengguna dan menentukan peranannya yang sepadan. Berikut ialah contoh kod untuk mencipta pengguna dalam MongoDB:
use admin

db.createUser({
  user: "adminUser",
  pwd: "adminPassword",
  roles: [
    { role: "userAdminAnyDatabase", db: "admin" },
    { role: "dbAdminAnyDatabase", db: "admin" },
    { role: "readWriteAnyDatabase", db: "admin" }
  ]
})
Salin selepas log masuk

Dalam kod di atas, pengguna bernama "adminUser" dicipta dan tiga peranan ditentukan: userAdminAnyDatabase, dbAdminAnyDatabase dan readWriteAnyDatabase. Peranan ini digunakan untuk mengurus pengguna, pangkalan data dan kebenaran untuk membaca dan menulis data masing-masing.

  1. Tentukan kebenaran peranan
    Selain daripada peranan lalai yang disediakan oleh MongoDB, anda juga boleh menyesuaikan peranan untuk memenuhi keperluan kebenaran aplikasi tertentu. Berikut ialah contoh kod untuk mentakrifkan peranan dalam MongoDB:
use admin

db.createRole({
  role: "customRole",
  privileges: [
    { resource: { db: "testDB", collection: "testCollection" }, actions: ["find", "insert"] }
  ],
  roles: []
})
Salin selepas log masuk

Dalam kod di atas, peranan bernama "customRole" ditakrifkan dan diberi keupayaan untuk mencari dan memasukkan data pada pangkalan data "testDB" dan koleksi "testCollection "keizinan.

  1. Tugaskan peranan kepada pengguna
    Selepas melengkapkan penciptaan pengguna dan peranan, anda juga perlu menetapkan peranan kepada pengguna tertentu. Berikut ialah contoh kod untuk menetapkan peranan kepada pengguna dalam MongoDB:
use admin

db.grantRolesToUser("adminUser", [
  { role: "customRole", db: "testDB" }
])
Salin selepas log masuk

Dalam kod di atas, pengguna "adminUser" dikaitkan dengan peranan "customRole" yang ditakrifkan sebelum ini dan diberikan kepada pangkalan data "testDB".

  1. Dayakan Pengesahan Pangkalan Data
    Agar pengguna memerlukan pengesahan untuk mengakses pangkalan data MongoDB, ciri pengesahan juga perlu didayakan pada pelayan. Berikut ialah contoh kod untuk mendayakan pengesahan dalam MongoDB:
mongod --auth
Salin selepas log masuk

Apabila memulakan perkhidmatan MongoDB melalui arahan di atas, ciri pengesahan akan didayakan.

  1. Proses kebenaran untuk mengakses pangkalan data
    Apabila pengguna ingin mengakses pangkalan data, dia perlu memberikan nama pengguna dan kata laluan untuk pengesahan. Berikut ialah proses kebenaran untuk mengakses pangkalan data dalam MongoDB:
use testDB

db.auth("adminUser", "adminPassword")
Salin selepas log masuk

Dalam kod di atas, mula-mula tukar ke pangkalan data untuk diakses, dan kemudian sahkan melalui kaedah auth, memberikan nama pengguna dan kata laluan yang sepadan.

Melalui langkah di atas, kami boleh melaksanakan fungsi kawalan kebenaran data dalam MongoDB. Dengan mencipta pengguna dan peranan, mentakrifkan kebenaran peranan, memberikan peranan kepada pengguna, dan akhirnya mendayakan pengesahan pangkalan data, anda boleh mengawal akses pengguna kepada dan operasi pada data. Saya harap contoh kod dalam artikel ini dapat membantu anda melaksanakan kawalan kebenaran data dalam MongoDB.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi kawalan kebenaran data dalam MongoDB. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan