1. 程式人生 > >MongoDB下配置用戶權限

MongoDB下配置用戶權限

pro dmi back 控制臺 控制 微軟 win 再看 ont


MongoDB默認設置為無權限訪問限制
註:研究成果基於Windows平臺
在部署mongodb成功後。進入控制臺: 技術分享 輸入命令:mongod use admin,你會發現該DB下包括了一個system.user表,呵呵。沒錯,這個表就等同於MsSql中的用戶表。用來存放超級管理員的,那我們就往它裏面加入一個超級管理員試試看 裏我加入一個超級管理員用戶,username為admin,password也為admin,即然我們加入了超級管理員,那咱們就來測試下,看看咱們再次連接MongoDB需不須要提示輸入用戶名、密碼。我們先退出來

輸入命令:mongod use admin

輸入命令:show collections。查看該庫下全部的表,你會發現,MongoDB並沒有提示你輸入username、password。那就奇怪了,這是怎麽回事呢?在文章最開始提到了。



MongoDB默認設置為無權限訪問限制,即然這樣,那我們就先把它設置成為須要權限訪問限制,咱們再看看效果,怎麽設置呢?

在註冊表中,找到MongoDB的節點。在它的ImgPath中,我們改動一下,增加 -auth,例如以下所看到的:mongod

"D:\Program Files\mongodb\bin\mongod" -dbpath e:\work\data\mongodb\db -logpath e:\work\data\mongodb\log -auth

-service

註:進入系統註冊表(WIN+R-->regedit),找到[HKEY_LOCAL_MACHINE-->SYSTEM-->CurrentControlSet-->Services-->MongoDB]在右邊的健-值列表中打到 “ImagePath



改動完畢後再次進入控制臺,發現須要password驗證了。
技術分享
輸入username和password就能夠驗證了。 技術分享
別急,還沒有完。


當退出窗體後。再次啟動進入窗體後,通過use mydatabase來切換還有一個庫後,查看庫以下的表,發現又沒有權限了。 可是。通過之前命令先進入admin庫,然後驗證username和password後再進入mydatabase庫就沒有問題。

這樣我們就能夠進入mydatabase庫後

在加入用戶 db.addUser(username,password);
這樣就能夠通過username和password來進入mydatabase庫了。


相同在linux的環境下,須要在啟動的服務後面加入auth的參數來啟動權限訪問控制。









MongoDB下配置用戶權限