public void EncodeDecodePassword() { const string test_pass = "******"; var passwordBytes = LdapHelper.GetPasswordBytes(test_pass); Assert.IsNotNull(passwordBytes); var strPass = LdapHelper.GetPassword(passwordBytes); Assert.AreEqual(strPass, test_pass); }
private void PrepareSettings(LdapSettings settings) { if (settings == null) { Logger.Error("Wrong LDAP settings were received from client."); Error = Resource.LdapSettingsErrorCantGetLdapSettings; return; } if (!settings.EnableLdapAuthentication) { settings.Password = string.Empty; return; } if (!string.IsNullOrWhiteSpace(settings.Server)) { settings.Server = settings.Server.Trim(); } else { Logger.Error("settings.Server is null or empty."); Error = Resource.LdapSettingsErrorCantGetLdapSettings; return; } if (!settings.Server.StartsWith("LDAP://")) { settings.Server = "LDAP://" + settings.Server.Trim(); } if (!string.IsNullOrWhiteSpace(settings.UserDN)) { settings.UserDN = settings.UserDN.Trim(); } else { Logger.Error("settings.UserDN is null or empty."); Error = Resource.LdapSettingsErrorCantGetLdapSettings; return; } if (!string.IsNullOrWhiteSpace(settings.LoginAttribute)) { settings.LoginAttribute = settings.LoginAttribute.Trim(); } else { Logger.Error("settings.LoginAttribute is null or empty."); Error = Resource.LdapSettingsErrorCantGetLdapSettings; return; } if (!string.IsNullOrWhiteSpace(settings.UserFilter)) { settings.UserFilter = settings.UserFilter.Trim(); } if (!string.IsNullOrWhiteSpace(settings.FirstNameAttribute)) { settings.FirstNameAttribute = settings.FirstNameAttribute.Trim(); } if (!string.IsNullOrWhiteSpace(settings.SecondNameAttribute)) { settings.SecondNameAttribute = settings.SecondNameAttribute.Trim(); } if (!string.IsNullOrWhiteSpace(settings.MailAttribute)) { settings.MailAttribute = settings.MailAttribute.Trim(); } if (!string.IsNullOrWhiteSpace(settings.TitleAttribute)) { settings.TitleAttribute = settings.TitleAttribute.Trim(); } if (!string.IsNullOrWhiteSpace(settings.MobilePhoneAttribute)) { settings.MobilePhoneAttribute = settings.MobilePhoneAttribute.Trim(); } if (settings.GroupMembership) { if (!string.IsNullOrWhiteSpace(settings.GroupDN)) { settings.GroupDN = settings.GroupDN.Trim(); } else { Logger.Error("settings.GroupDN is null or empty."); Error = Resource.LdapSettingsErrorCantGetLdapSettings; return; } if (!string.IsNullOrWhiteSpace(settings.GroupFilter)) { settings.GroupFilter = settings.GroupFilter.Trim(); } if (!string.IsNullOrWhiteSpace(settings.GroupAttribute)) { settings.GroupAttribute = settings.GroupAttribute.Trim(); } else { Logger.Error("settings.GroupAttribute is null or empty."); Error = Resource.LdapSettingsErrorCantGetLdapSettings; return; } if (!string.IsNullOrWhiteSpace(settings.UserAttribute)) { settings.UserAttribute = settings.UserAttribute.Trim(); } else { Logger.Error("settings.UserAttribute is null or empty."); Error = Resource.LdapSettingsErrorCantGetLdapSettings; return; } } if (!settings.Authentication) { settings.Password = string.Empty; return; } if (!string.IsNullOrWhiteSpace(settings.Login)) { settings.Login = settings.Login.Trim(); } else { Logger.Error("settings.Login is null or empty."); Error = Resource.LdapSettingsErrorCantGetLdapSettings; return; } if (settings.PasswordBytes == null || !settings.PasswordBytes.Any()) { if (!string.IsNullOrEmpty(settings.Password)) { settings.PasswordBytes = LdapHelper.GetPasswordBytes(settings.Password); if (settings.PasswordBytes == null) { Logger.Error("settings.PasswordBytes is null."); Error = Resource.LdapSettingsErrorCantGetLdapSettings; return; } } else { Logger.Error("settings.Password is null or empty."); Error = Resource.LdapSettingsErrorCantGetLdapSettings; return; } } settings.Password = string.Empty; }