2014-04-08 17 views
5

Sto utilizzando l'ultima versione del driver e del database MongoDB 2.6 e che ho usato per creare gli utenti che utilizzano il seguente codice:Come creare un utente in MongoDB

 MongoUser _user1 = new MongoUser("username", "password", false); 

     MongoDatabase.AddUser(_user1); 

ed ora sta dicendo MongoDatabase.AddUser() è deprecato mostrando le seguenti informazioni:

... è obsoleto: Utilizzare il nuovo comando di gestione degli utenti 'createUser' o 'UpdateUser' "

.

Dove si trova questo nuovo comando di gestione utente? Come posso creare un utente usando il nuovo driver MongoDB C#?

risposta

0

ho fatto una ricerca per 'createUser' sulle ultime codice sul repository GitHub: https://github.com/mongodb/mongo-csharp-driver/search?q=createUser&ref=cmdform

Al momento della scrittura, l'unico riferimento a 'createUser' is here

Il metodo è stato contrassegnato come obsoleto tuttavia in this commit

Tuttavia; su un esame più attento del codice, mi see this:

if (_server.RequestConnection.ServerInstance.Supports(FeatureId.UserManagementCommands)) 
    { 
     AddUserWithUserManagementCommands(user); 
    } 
    else 
    { 
     AddUserWithInsert(user); 
    } 

Quindi, è necessario chiamare il metodo sotto il cofano

2

sto usando MongoDB 2.6.2 e più recenti C# conducente 1.9.2. Questo è come è possibile aggiungere nuovi utenti con 'createUser':

public static void AddUser(string user, string password, string[] roles) 
{ 
    var database = GetDatabase(); 
    var command = new CommandDocument { { "createUser", user}, { "pwd", password }, { "roles", new BsonArray(roles) } }; 
    var result = database.RunCommand(command); 
} 
4

Per chi è interessato a creare un utente con il driver C# v2.0.1 e v3.0.6 MongoDB utilizzare il seguente:

var client = new MongoClient(connectionString); 
var database = client.GetDatabase("database_to_create_user_in"); 
var user = new BsonDocument { { "createUser", "fred" }, { "pwd", "some_secure_password" }, { "roles", new BsonArray { new BsonDocument { { "role", "read" }, { "db", "database_to_create_user_in" } } } } }; 
await database.RunCommandAsync<BsonDocument>(user); 
Problemi correlati