2014-06-25 64 views
1

我有數據庫一個Ç,除了系統的管理貓鼬authenticationDatabase在蒙戈2.6

我想補充一點,有讀寫訪問一個用戶,B,C

// attempt 1 
use admin 
db.createUser({ user: "Bob", pwd: "1234", roles: [ 
    { role: "readWriteAnyDatabase", db: "admin" } 
] }) 

// attempt 2 
use admin 
db.createUser({ user: "Bob", pwd: "1234", roles: [ 
    { role: "readWrite", db: "A" }, 
    { role: "readWrite", db: "B" }, 
    { role: "readWrite", db: "C" } 
] }) 

對於這些嘗試中,用戶存儲在分貝管理員。所以,我怎麼可以鑑定管理但在一個一個執行動作,Ç

var uri = 'mongodb://localhost/A'; 
var opts = { 
    user: 'Bob', 
    pass: '1234', 
    auth: { authDb: 'admin' } 
}; 
mongoose.connect(uri, opts); // auth fails 

是我分別在每個添加用戶唯一的解決辦法一個Ç?防爆。

use A 
db.createUser({...}) 
use B 
db.createUser({...}) 
use C 
db.createUser({...}) 

似乎是愚蠢的。

+0

指定authSource很晚,但它可能是您的身份驗證是失敗,因爲'authDb'應該是'authdb'。我嘗試了'authDb',得到auth失敗,然後'authdb',它工作。 –

回答