public void validar() { constructotlogin validar = new constructotlogin(txtadmin.Text, txtcontra.Text); validar.clave = txtcifrado.Text; constructotlogin.usuario = txtadmin.Text; bool datos = validarlogin.validarusername(validar); if (datos == true) { txtnuevacontra.Enabled = true; btnconfirmar.Enabled = true; } }
void enviar() { if (txtpass.Text.Trim() == "" || txtuser.Text.Trim() == "") { MessageBox.Show("campos vacios", "Llene los campos", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { constructotlogin login = new constructotlogin(txtuser.Text, txtpass.Text); constructotlogin.usuario = txtuser.Text; login.clave = txtcifrado.Text; bool datos = validarlogin.acceso(login); if (datos == true) { if (login.clave == "LoXc4qdLw/ZNPczO4W4h7a7BjsY=") { Form uso = new primerusocualquiera(); this.Hide(); uso.Show(); } else if (login.clave == "ke8MFgiyDJxb2eADu7YAIpwN/rE=") { Form recu = new recuinterno(); recu.Show(); this.Hide(); } else if (constructotlogin.nivel == 1) { Form asesor = new Secretaria(); asesor.Show(); this.Hide(); } else if (constructotlogin.nivel == 2) { Form trabajador = new Trabajador(); trabajador.Show(); this.Hide(); } else if (constructotlogin.nivel == 3) { Form suprevisor = new Mecanico(); suprevisor.Show(); this.Hide(); } else if (constructotlogin.nivel == 4) { Form admin = new admin(); admin.Show(); this.Hide(); } else if (constructotlogin.nivel == 5) { Form bodega = new bodeguero(); bodega.Show(); this.Hide(); } else if (constructotlogin.nivel == 6) { Form torre = new torre(); torre.Show(); this.Hide(); } } } }
public static bool validarusername(constructotlogin logi) { bool retorno = false; //verificar existencia string query = "SELECT * FROM usuarios WHERE binary usuario=?user"; try { MySqlCommand cmdeselct = new MySqlCommand(query, conexion.obtenerconexion()); //envio de parametros a la consulta cmdeselct.Parameters.Add(new MySqlParameter("user", constructotlogin.usuario)); retorno = Convert.ToBoolean(cmdeselct.ExecuteScalar()); //si el usuario existe es true , sino es false if (retorno == true) { //verificar datos int estado = 1; string query2 = "SELECT * FROM usuarios WHERE binary usuario=?user AND binary clave=?pass AND estado=?state"; MySqlCommand cmdselect2 = new MySqlCommand(query2, conexion.obtenerconexion()); cmdselect2.Parameters.Add(new MySqlParameter("user", constructotlogin.usuario)); cmdselect2.Parameters.Add(new MySqlParameter("pass", logi.clave)); cmdselect2.Parameters.Add(new MySqlParameter("state", estado)); retorno = Convert.ToBoolean(cmdselect2.ExecuteScalar()); //actualizar intentos a cero if (retorno == true) { int intentos = 0; MySqlCommand cmdset = new MySqlCommand(string.Format("UPDATE usuarios SET intentos='{0}' WHERE usuario='{1}'", intentos, constructotlogin.usuario), conexion.obtenerconexion()); int reset = Convert.ToInt32(cmdset.ExecuteNonQuery()); MySqlDataReader reader = cmdeselct.ExecuteReader(); while (reader.Read()) { constructotlogin.nombre = reader.GetString(1) + "" + reader.GetString(2); constructotlogin.nivel = reader.GetInt16(10); if (reset >= 1) { if (constructotlogin.nivel == 4) { MessageBox.Show("Acceso concedido:" + constructotlogin.usuario, "Bienvenido", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("El registro ingresado no corresponde a las credenciales necesitadas", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } else { //verificar estado contando intentos MySqlDataReader reader = cmdeselct.ExecuteReader(); while (reader.Read()) { int intentos = 0; intentos = reader.GetInt16(11) + 1; if (intentos > 5) { //bloqueo int bloqueo = 3; MySqlCommand cmdlock = new MySqlCommand(string.Format("UPDATE usuarios SET estado='{0}' WHERE usuario='{1}'", bloqueo, constructotlogin.usuario), conexion.obtenerconexion()); int verificacion = Convert.ToInt32(cmdlock.ExecuteNonQuery()); if (verificacion >= 1) { MessageBox.Show("usuario bloqueado, contacte al admin", "bloqueado", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MySqlCommand cmdupdate = new MySqlCommand(string.Format("UPDATE usuarios SET intentos='{0}' WHERE usuario='{1}'", intentos, constructotlogin.usuario), conexion.obtenerconexion()); int verificacion = Convert.ToInt32(cmdupdate.ExecuteNonQuery()); if (verificacion >= 1) { MessageBox.Show("la contraseña es incorrecta o el usuario no existe", "campos erroneos", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } } } } } else { //envio de mensaje de usuario inexistente MessageBox.Show("usuario inexistente", "error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } return(retorno); } catch (Exception e) { MessageBox.Show("error en la base de datos" + e, "error critico", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(retorno); } finally { conexion.obtenerconexion().Close(); } }