溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MongoDB管理用戶的認(rèn)證機(jī)制是怎樣的

發(fā)布時(shí)間:2021-09-29 10:28:21 來源:億速云 閱讀:153 作者:柒染 欄目:關(guān)系型數(shù)據(jù)庫

MongoDB管理用戶的認(rèn)證機(jī)制是怎樣的,相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

一、MongoDB用戶認(rèn)證機(jī)制簡介

為了認(rèn)證客戶端,你必須要添加一個(gè)對應(yīng)的用戶到MongoDB。基本的步驟分為以下幾步:

  • 用戶管理接口:db.createUser()方法可以創(chuàng)建一個(gè)用戶,添加完成后可以分配角色給用戶,第一個(gè)用戶必須是管理員,用來管理其他用戶。你也可以更新存在的用戶,必須修改密碼和權(quán)限。

  • 認(rèn)證數(shù)據(jù)庫:當(dāng)添加一個(gè)用戶后,你在某個(gè)指定的數(shù)據(jù)庫中添加該用戶,那么這個(gè)數(shù)據(jù)庫對于該用戶就是個(gè)認(rèn)證數(shù)據(jù)庫。一個(gè)用戶可以有權(quán)限訪問多個(gè)數(shù)據(jù)庫,通過分配角色權(quán)限來做到。

  • 認(rèn)證用戶:為了認(rèn)證用戶,可以通過db.author()方法。

二、MongoDB用戶認(rèn)證示例

  • 在admin數(shù)據(jù)庫中,創(chuàng)建一個(gè)超級用戶,用于管理其他的的用戶。

use admin
db.createUser({"user":"myadmin","pwd":"password","roles":["root"]})
  • 重新登錄數(shù)據(jù)庫,執(zhí)行:show dbs,發(fā)現(xiàn)依然可以訪問。我們需要開啟數(shù)據(jù)庫的認(rèn)證機(jī)制,在配置文件中設(shè)置以下參數(shù):

auth=true
  • 重啟MongoDB,并且重新登錄

MongoDB管理用戶的認(rèn)證機(jī)制是怎樣的

  • 執(zhí)行:show dbs,出現(xiàn)錯(cuò)誤

MongoDB管理用戶的認(rèn)證機(jī)制是怎樣的

  • 執(zhí)行認(rèn)證用戶,執(zhí)行show users查看用戶信息

use admin
db.auth("myadmin","password")
show users

MongoDB管理用戶的認(rèn)證機(jī)制是怎樣的

  • 執(zhí)行:show dbs,就能正常執(zhí)行了。

  • 在mydemo數(shù)據(jù)庫中,創(chuàng)建一個(gè)新的用戶

use mydemo
db.createUser({"user":"user1","pwd":"password","roles":["read"]})
注意:該用戶只有讀的角色
  • 執(zhí)行下面的操作,進(jìn)行測試。

切換用戶:
db.auth("user1","password")
查詢collection:db.emp.findOne()  --> 可以正常操作
插入新文檔:db.testtable2.insert({"name","Tom"}) ---> 出錯(cuò)
  • 修改用戶的密碼

db.updateUser("user1",{"pwd":"abcd"})
  • 查看用戶:show users

MongoDB管理用戶的認(rèn)證機(jī)制是怎樣的

看完上述內(nèi)容,你們掌握MongoDB管理用戶的認(rèn)證機(jī)制是怎樣的的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI