簡體   English   中英

mongodb的授權

[英]Authorization in mongodb

只讀用戶只具有讀權限。 因此,具有readonly true的用戶無權添加新用戶或任何寫入功能。

我正在構建一個管理MongoDB中數據的實用程序。 當我以只讀用戶身份登錄時,它不應該允許我添加新用戶。 當我實現它時,它實際上並沒有添加用戶,但它沒有拋出任何異常。

這是我添加只讀用戶的命令

var credentials = new MongoCredentials(username, password,false);
var addUser = new MongoUser(credentials, readOnly);
var database = server.GetDatabase(databaseName);
database.AddUser(addUser);

你用--auth命令行參數啟動mongod了嗎?

你在連接字符串上使用了safe=true嗎?

此外,您需要使用管理員憑據將用戶添加到數據庫:

var adminCredentials = new MongoCredentials("adminuser", "adminpassword", true);
var userCredentials = new MongoCredentials("username", "password");
var user = new MongoUser(userCredentials, true);
var fooDatabase = server.GetDatabase("foo", adminCredentials);
fooDatabase.AddUser(user);

請注意,有兩組憑據:一組用於添加用戶,另一組用於代碼以便能夠添加用戶。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM