3

読み取り専用ユーザーには、読み取り権限のみがあります。したがって、読み取り専用のtrueを持つユーザーは、新しいユーザーまたは書き込み機能を追加することを許可されていません。

MongoDBのデータを管理するユーティリティを構築しています。読み取り専用ユーザーとしてログインすると、新しいユーザーを追加できなくなります。私がそれを実装するとき、それは実際にはユーザーを追加しませんが、例外をスローしません。

読み取り専用ユーザーを追加するためのコマンドは次のとおりです

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

1 に答える 1

1

--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);

2つの資格情報のセットがあることに注意してください。1つは追加するユーザー用で、もう1つはユーザーを追加できるようにするためのコード用の管理者資格情報のセットです。

于 2012-04-27T18:58:58.023 に答える