標籤:密碼 使用者名稱 帳號 認證 角色
背景: 原先使用的MongoDB並沒有使用帳號密碼的認證方式去登陸,使用的是非認證方式;現需要將其配置為以帳號密碼的方式去登陸和使用,配置步驟如下:
一、配置普通許可權使用者
1.使用MongoBooster串連上MongoDB的Server
2.執行以下指令碼,建立系統管理使用者的賬戶aa
use admindb.createUser({ user:"aa", pwd:"aa",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})
3. 開始伺服器認證模式,登陸至MongoDb伺服器,在mongodb.config檔案中添加auth=true,然後重啟MongoDB服務
4.在MongoBooster中使用帳號aa串連上MongoDb的Server
5.執行以下指令碼,為test建立具有讀寫權限的使用者dfy
use testdb.createUser({ user:"dfy", pwd:"dfy", roles:[{role:"readWrite",db:"sc"}]})
user:使用者名稱,pwd:密碼,roles:指定使用者角色,可以用一個空數組給新使用者設定空角色;在roles欄位,可以指定內建角色和使用者定義的角色。role裡的角色可以選:
Built-In Roles(內建角色):
1. 資料庫使用者角色:read、readWrite;
2. 資料庫管理角色:dbAdmin、dbOwner、userAdmin;
3. 叢集管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 備份恢複角色:backup、restore;
5. 所有資料庫角色:readAnyDatabase、readWriteAnyDatabase,userAdminAnyDatabase、dbAdminAnyDatabase
6. 超級使用者角色:root
7. 內部角色:__system
二、建立超級使用者(不建議使用)
1.使用MongoBooster串連上MongoDB的Server,執行下以指令碼,建立超級使用者CC
use admindb.createUser({user:"CC",pwd:"CC",roles:[{role:"root",db:"admin"}]})
2.按配置普通許可權使用者中的步驟3開始伺服器的認證模式即可,帳號CC具有超級管理員的許可權
三、如何在Web中使用新配置的MongoDB的帳號密碼?
在MongoBooster的串連配置頁面,點擊To URI按鈕,可以看到獲得當前的串連串,新的串連串中包含帳號密碼資訊
在Web.config中,將原先的MongoDB的串連串替換為當前新的串連串即可
本文出自 “不會撒嬌的貓” 部落格,請務必保留此出處http://alicedai.blog.51cto.com/5589624/1865121
Mongodb帳號Cipher 模式的基本認證