mongodb的認證(authentication)與授權(authorization)


一小白瞎整mongodb,認證部分被折磨的慘不忍睹,看廝可憐,特查了一下文檔,淺顯地總結一下mongodb認證(authentication)與授權(authorization)的聯系。

創建的所有用戶都在admin.庫下的system.users集合下,有如下字段:

其中的db字段是用於authentication用的,也就是連接mongodb的時候,指定的--authenticationDatabase選項的值。

roles字段里面的db是指這個用戶具體對db具有什么樣的角色,是只讀,只寫,還是讀寫,也就是授權。這個db跟最外面的db沒有任何關系,完全是用來指定權限的。

 

連接Mongodb的時候,除了需要用戶名,密碼,還需要指定這個用戶的認證db。為什么需要指定這個認證db?是因為Mongodb允許存在多個同名的用戶存在,但同名的用戶認證db必須不能相同,如下:

 

切換到其他db,可以創建同名用戶:

上圖創建了一個用戶名密碼為"in_admin"的用戶,用haha數據庫認證,對haha數據庫具有讀寫權限,除此之外,沒有其他數據庫的任何執行權限。

補充一點就是,認證的db字段不能在創建用戶時指定,它的值是你創建用戶時所在的那個db。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM