protected void BtnSave_Click(object sender, EventArgs e) { string sterror = string.Empty; clPasswordPolicy pw = new clPasswordPolicy(); if (clUsuario.ValidaAcceso(User.Login, TBoxContraseñaant.Text)) { if (clPasswordPolicy.IsValid(TBoxContraseña1.Text)) { if (TBoxContraseña1.Text == TBoxContraseña2.Text) { clUsuario.CambiarContraseña(User.Login, TBoxContraseña1.Text); clExcepcion.SuccessFunction(this, "Se han cambiado con exito", "function() { window.location='/Pages/Configuracion/Config.aspx'}"); } else { TBoxContraseña1.Text = string.Empty; TBoxContraseña2.Text = string.Empty; sterror += @"Las contraseñas no coinciden ingreselas de nuevo" + @"<br \>"; } } else { clExcepcion.Error(this, pw.StError); } } else { sterror += @"Contraseña incorrecta"+@"<br \>"; } clExcepcion.Error(this, sterror); }
public static bool IsValid(string Password) { if (Password.Length < Minimum_Length) { clPasswordPolicy pw = new clPasswordPolicy(); pw.StError = "Deben ser mas de 8 caracteres"; return false; } if (UpperCaseCount(Password) < Upper_Case_length) return false; if (LowerCaseCount(Password) < Lower_Case_length) return false; if (NumericCount(Password) < Numeric_length) return false; if (NonAlphaCount(Password) < NonAlpha_length) return false; return true; }
private static int UpperCaseCount(string Password) { clPasswordPolicy pw = new clPasswordPolicy(); pw.StError = "Debe tener al menos una letra mayúscula"; return Regex.Matches(Password, "[A-Z]").Count; }
private static int NumericCount(string Password) { clPasswordPolicy pw = new clPasswordPolicy(); pw.StError = "Debe tener al menos un caracter numérico"; return Regex.Matches(Password, "[0-9]").Count; }
private static int NonAlphaCount(string Password) { clPasswordPolicy pw = new clPasswordPolicy(); pw.StError = "Debe tener al menos un caracter no numérico"; return Regex.Matches(Password, @"[^0-9a-zA-Z\._]").Count; }