MongoDB管理用戶的認證機制

一、MongoDB用戶認證機制簡介

爲了認證客戶端,你必須要添加一個對應的用戶到MongoDB。基本的步驟分爲以下幾步:

  • 用戶管理接口:db.createUser()方法可以創建一個用戶,添加完成後可以分配角色給用戶,第一個用戶必須是管理員,用來管理其他用戶。你也可以更新存在的用戶,必須修改密碼和權限。
  • 認證數據庫:當添加一個用戶後,你在某個指定的數據庫中添加該用戶,那麼這個數據庫對於該用戶就是個認證數據庫。一個用戶可以有權限訪問多個數據庫,通過分配角色權限來做到。
  • 認證用戶:爲了認證用戶,可以通過db.author()方法。

二、MongoDB用戶認證示例

  • 在admin數據庫中,創建一個超級用戶,用於管理其他的的用戶。
 use admin 
db.createUser({"user":"root","pwd":"root","roles":["root"]})
  • 重新登錄數據庫,執行:show dbs,發現依然可以訪問。我們需要開啓數據庫的認證機制,在配置文件中設置以下參數:
 auth=true 
  • 重啓MongoDB,並且重新登錄
  • 執行:show dbs,出現錯誤
  • 執行認證用戶,執行show users查看用戶信息
 use admin 
db.auth("myadmin","password")
show users
  • 執行:show dbs,就能正常執行了。
  • 在mydemo數據庫中,創建一個新的用戶
 use mydemo 
db.createUser({"user":"user1","pwd":"password","roles":"readWrite", db:"mydemo"})
注意:該用戶只有讀的角色 
  • 執行下面的操作,進行測試。
切換用戶: db.auth("user1","password")  
查詢collection:db.emp.findOne()  --> 可以正常操作  
插入新文檔:db.testtable2.insert({"name","Tom"}) ---> 出錯
  • 修改用戶的密碼
 db.updateUser("user1",{"pwd":"abcd"}) 
  • 查看用戶:
show users
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章