public void ModifyPasswordRequest() { ModifyRequest req = LdapRequestBuilder.GetModifyPasswordRequest(_testUser, "new pwd"); Assert.AreEqual(UserDn, req.DistinguishedName); var attributeModification = new DirectoryAttributeModification { Operation = DirectoryAttributeOperation.Replace, Name = "userPassword", }; attributeModification.Add("new pwd"); CollectionAssert.AreEqual(req.Modifications[0], attributeModification); }
/// <summary> /// Change an LDAPUser's Password /// </summary> /// <param name="user">LDAPUser to change the password</param> /// <param name="newPwd">New Passowrd</param> /// <returns>Success or Failed</returns> public LdapState ChangeUserPassword(ILdapUser user, string newPwd) { try { _ldapConnection.SendRequest(LdapRequestBuilder.GetModifyPasswordRequest(user, newPwd)); } catch (Exception e) { _logger.Write(_logger.BuildLogMessage(e.Message, LdapState.LdapChangeUserPasswordError)); return(LdapState.LdapChangeUserPasswordError); } user.OverwriteUserAttribute("userPassword", newPwd); _logger.Write(_logger.BuildLogMessage("Change Password Operation Success", LdapState.LdapUserManipulatorSuccess)); return(LdapState.LdapUserManipulatorSuccess); }