public void TestUserMethods(string username, string password, bool isReadOnly) { RequireServer.Check().VersionLessThan("3.7.0"); #pragma warning disable 618 _database.RunCommand("dropAllUsersFromDatabase"); _database.AddUser(new MongoUser(username, new PasswordEvidence(password), isReadOnly)); var user = _database.FindUser(username); Assert.NotNull(user); Assert.Equal(username, user.Username); var users = _database.FindAllUsers(); Assert.Equal(1, users.Length); Assert.Equal(username, users[0].Username); // test updating existing user _database.AddUser(new MongoUser(username, new PasswordEvidence("newpassword"), !isReadOnly)); user = _database.FindUser(username); Assert.NotNull(user); Assert.Equal(username, user.Username); _database.RemoveUser(user); user = _database.FindUser(username); Assert.Null(user); #pragma warning restore 618 }
public void TestUserMethods(string username, string password, bool isReadOnly) { RequireServer.Check().VersionLessThan("3.7.0"); #pragma warning disable 618 bool usesCommands = _primary.Supports(FeatureId.UserManagementCommands); if (usesCommands) { _database.RunCommand("dropAllUsersFromDatabase"); } else { var collection = _database.GetCollection("system.users"); collection.RemoveAll(); } _database.AddUser(new MongoUser(username, new PasswordEvidence(password), isReadOnly)); var user = _database.FindUser(username); Assert.NotNull(user); Assert.Equal(username, user.Username); if (!usesCommands) { Assert.Equal(MongoUtils.Hash(string.Format("{0}:mongo:{1}", username, password)), user.PasswordHash); Assert.Equal(isReadOnly, user.IsReadOnly); } var users = _database.FindAllUsers(); Assert.Equal(1, users.Length); Assert.Equal(username, users[0].Username); if (!usesCommands) { Assert.Equal(MongoUtils.Hash(string.Format("{0}:mongo:{1}", username, password)), users[0].PasswordHash); Assert.Equal(isReadOnly, users[0].IsReadOnly); } // test updating existing user _database.AddUser(new MongoUser(username, new PasswordEvidence("newpassword"), !isReadOnly)); user = _database.FindUser(username); Assert.NotNull(user); Assert.Equal(username, user.Username); if (!usesCommands) { Assert.Equal(MongoUtils.Hash(string.Format("{0}:mongo:{1}", username, "newpassword")), user.PasswordHash); Assert.Equal(!isReadOnly, user.IsReadOnly); } _database.RemoveUser(user); user = _database.FindUser(username); Assert.Null(user); #pragma warning restore }
/// <summary> /// Add User /// </summary> /// <param name="strUser">Username</param> /// <param name="password">Password</param> /// <param name="isReadOnly">Is ReadOnly</param> public static void AddUserToDB(String strUser, String password, Boolean isReadOnly) { MongoDatabase mongoDB = SystemManager.GetCurrentDataBase(); MongoUser newUser = new MongoUser(strUser, password, false); if (mongoDB.FindUser(strUser) == null) { mongoDB.AddUser(newUser); } }
public void InsertUser(string name, string password) { if (string.IsNullOrEmpty(name)) { throw new ArgumentException(name); } if (string.IsNullOrEmpty(password)) { throw new ArgumentException(password); } var mongoUser = new MongoUser(name, new PasswordEvidence(password), false); _database.AddUser(mongoUser); }
public void TestUserMethods(string username, string password, bool isReadOnly) { #pragma warning disable 618 using (_database.RequestStart(ReadPreference.Primary)) { bool usesCommands = _database.Server.RequestConnection.ServerInstance.Supports(FeatureId.UserManagementCommands); if (usesCommands) { _database.RunCommand("dropAllUsersFromDatabase"); } else { var collection = _database.GetCollection("system.users"); collection.RemoveAll(); } _database.AddUser(new MongoUser(username, new PasswordEvidence(password), isReadOnly)); var user = _database.FindUser(username); Assert.IsNotNull(user); Assert.AreEqual(username, user.Username); if (!usesCommands) { Assert.AreEqual(MongoUtils.Hash(string.Format("{0}:mongo:{1}", username, password)), user.PasswordHash); Assert.AreEqual(isReadOnly, user.IsReadOnly); } var users = _database.FindAllUsers(); Assert.AreEqual(1, users.Length); Assert.AreEqual(username, users[0].Username); if (!usesCommands) { Assert.AreEqual(MongoUtils.Hash(string.Format("{0}:mongo:{1}", username, password)), users[0].PasswordHash); Assert.AreEqual(isReadOnly, users[0].IsReadOnly); } _database.RemoveUser(user); user = _database.FindUser(username); Assert.IsNull(user); #pragma warning restore } }
protected void EnsureAccessRights() { var url = new MongoUrl(this.ConnectionString); MongoClientSettings settings = MongoClientSettings.FromUrl(url); settings.DefaultCredentials = null; MongoCredentials adminCredentials = this.GetAdminCredentials(); var client = new MongoClient(settings); MongoServer server = client.GetServer(); MongoDatabase adminDatabase = server.GetDatabase(this.MongoAdministratorDatabase); MongoUser user = adminDatabase.FindUser(this.MongoAdministratorName); if (IsUserAdmin(user)) { return; } user = new MongoUser(adminCredentials, false); adminDatabase.AddUser(user); server.Disconnect(); }
public void TestUserMethods() { var collection = database["system.users"]; collection.RemoveAll(); database.AddUser(new MongoCredentials("username", "password"), true); Assert.AreEqual(1, collection.Count()); var user = database.FindUser("username"); Assert.AreEqual("username", user.Username); Assert.AreEqual(MongoUtils.Hash("username:mongo:password"), user.PasswordHash); Assert.AreEqual(true, user.IsReadOnly); var users = database.FindAllUsers(); Assert.AreEqual(1, users.Length); Assert.AreEqual("username", users[0].Username); Assert.AreEqual(MongoUtils.Hash("username:mongo:password"), users[0].PasswordHash); Assert.AreEqual(true, users[0].IsReadOnly); database.RemoveUser(user); Assert.AreEqual(0, collection.Count()); }
public void TestUserMethods() { var collection = _database.GetCollection("system.users"); collection.RemoveAll(); _database.AddUser(new MongoUser("username", new PasswordEvidence("password"), true)); Assert.AreEqual(1, collection.Count()); var user = _database.FindUser("username"); Assert.AreEqual("username", user.Username); Assert.AreEqual(MongoUtils.Hash("username:mongo:password"), user.PasswordHash); Assert.AreEqual(true, user.IsReadOnly); var users = _database.FindAllUsers(); Assert.AreEqual(1, users.Length); Assert.AreEqual("username", users[0].Username); Assert.AreEqual(MongoUtils.Hash("username:mongo:password"), users[0].PasswordHash); Assert.AreEqual(true, users[0].IsReadOnly); _database.RemoveUser(user); Assert.AreEqual(0, collection.Count()); }
public void AddUser(MongoCredentials credentials) { _mongoDatabase.AddUser(credentials); }