Esempio n. 1
0
 private void btn_guardar_Click(object sender, EventArgs e)
 {
     try
     {
         Validaciones.inicializarValidador();
         Validaciones.esValido(username.Name, username.Text, new Validaciones.NumerosLetrasGuion());
         Validaciones.esValido(passwordAnterior.Name, passwordAnterior.Text, new Validaciones.NumerosLetrasGuion());
         Validaciones.esValido(passwordNueva.Name, passwordNueva.Text, new Validaciones.NumerosLetrasGuion());
         Validaciones.esValido(passwordNuevaConfirmacion.Name, passwordNuevaConfirmacion.Text, new Validaciones.NumerosLetrasGuion());
         if (!String.IsNullOrEmpty(Validaciones.camposInvalidos))
         {
             throw new CamposInvalidosException();
         }
         if (passwordNueva.Text != passwordNuevaConfirmacion.Text)
         {
             throw new ControlDePKException();
         }
         if (!BDManager.existsButWith("usuario", "username", user.username, "password=HASHBYTES('SHA2_256','" + passwordAnterior.Text + "')"))
         {
             throw new PasswordIncorrectaException();
         }
         if (passwordAnterior.Text == passwordNueva.Text)
         {
             throw new PasswordIgualException();
         }
         user.password = passwordNueva.Text;
         BDManager.updateEncryptedUser(user);
         MessageBox.Show("El usuario ha sido modificado", "Usuario modificado correctamente", MessageBoxButtons.OK, MessageBoxIcon.Information);
         this.Close();
     }
     catch (CamposInvalidosException) { MessageBox.Show(Validaciones.camposInvalidos, "Error al validar campos del usuario a registrar", MessageBoxButtons.OK, MessageBoxIcon.Warning); }
     catch (ControlDePKException) { MessageBox.Show("Contraseña nueva mal escrita", "Error al validar campos del usuario a insertar", MessageBoxButtons.OK, MessageBoxIcon.Warning); }
     catch (PasswordIncorrectaException) { MessageBox.Show("Contraseña anterior incorrecta", "Error al validar contraseña", MessageBoxButtons.OK, MessageBoxIcon.Warning); }
     catch (PasswordIgualException) { MessageBox.Show("Contraseña anterior y nueva iguales", "Error al validar contraseña", MessageBoxButtons.OK, MessageBoxIcon.Warning); }
 }
Esempio n. 2
0
 private void btn_guardar_Click(object sender, EventArgs e)
 {
     try
     {
         Validaciones.inicializarValidador();
         Validaciones.esValido(username.Name, username.Text, new Validaciones.NumerosLetrasGuion());
         Validaciones.esValido(password.Name, password.Text, new Validaciones.NumerosLetrasGuion());
         Validaciones.esValido("roles asignados", listaRoles.Items.Count.ToString(), new Validaciones.NumeroNoCreo());
         if (!String.IsNullOrEmpty(Validaciones.camposInvalidos))
         {
             throw new CamposInvalidosException();
         }
         // fin validaciones regex
         usuarioAModificar.username = username.Text;
         usuarioAModificar.password = password.Text;
         BDManager.updateEncryptedUser(usuarioAModificar);
         BDManager.deleteByField("rol_x_usuario", "username", "'" + usuarioAModificar.username + "'");
         foreach (rol r in listaRoles.Items)
         {
             BDManager.insertInto("rol_x_usuario", new rol_x_usuario {
                 id_rol = r.id_rol, username = usuarioAModificar.username,
             });
         }
         MessageBox.Show("El usuario ha sido modificado", "Usuario modificado correctamente", MessageBoxButtons.OK, MessageBoxIcon.Information);
         this.Close();
     }
     catch (CamposInvalidosException) { MessageBox.Show(Validaciones.camposInvalidos, "Error al validar campos del usuario a modificar", MessageBoxButtons.OK, MessageBoxIcon.Warning); }
 }
Esempio n. 3
0
 private void btn_ingresar_Click(object sender, EventArgs e)
 {
     try
     {
         Validaciones.inicializarValidador();
         Validaciones.esValido(username.Name, username.Text, new Validaciones.NumerosLetrasGuion());
         Validaciones.esValido("password", passwordAnterior.Text, new Validaciones.NumerosLetrasGuion());
         if (!String.IsNullOrEmpty(Validaciones.camposInvalidos))
         {
             throw new CamposInvalidosException();
         }
         // todos los controles contra usuario
         if (!BDManager.exists("usuario", "username", username.Text))
         {
             throw new UsuarioNoExistenteException();
         }
         if (!BDManager.existsButWith("usuario", "username", username.Text, "password=HASHBYTES('SHA2_256','" + passwordAnterior.Text + "')"))
         {
             usuarioGlobal.restarIntento();
             if (usuarioGlobal.numeroDeIntentos < 1)
             {
                 usuario ur = new usuario(); ur.username = username.Text; ur.habilitado = "False"; BDManager.updateEncryptedUser(ur); throw new UsuarioInhabilitadoException();
             }
             throw new PasswordIncorrectaException();
         }
         usuario u = new usuario();
         BDManager.selectIntoObjectByString("usuario", "username", username.Text, u);
         if (u.habilitado == "False")
         {
             throw new UsuarioInhabilitadoException();
         }
         if (BDManager.existsButWith("usuario", "username", username.Text, "HASHBYTES('SHA2_256','" + passwordAnterior.Text + "')=HASHBYTES('SHA2_256','" + u.username + "')"))
         {
             MessageBox.Show("Su usuario " + username.Text + " debe cambiar su contraseña, ya que es su primer ingreso. Acepte este cuadro de diálogo para hacerlo.", "Usuario logueado por primera vez", MessageBoxButtons.OK, MessageBoxIcon.Warning);
             RegistraUsuario registraUsuario = new RegistraUsuario(u);
             registraUsuario.ShowDialog();
             throw new DebeCambiarContraseniaException();
         }
         // ahora tengo que ver si el user tiene 1 rol o mas
         List <object> listaTraidaDeBD        = BDManager.getList("SELECT * FROM EQUISDE.rol r JOIN EQUISDE.rol_x_usuario ru ON r.id_rol = ru.id_rol JOIN EQUISDE.usuario u ON ru.username = u.username WHERE r.habilitado=1 AND u.username ='******'", new rol());
         List <rol>    listaRolesDeEseUsuario = listaTraidaDeBD.Cast <rol>().ToList();
         if (listaRolesDeEseUsuario.Count < 1)
         {
             throw new UsuarioNoTieneRolesException();
         }
         usuarioGlobal.usuarioLogueado  = u;
         usuarioGlobal.numeroDeIntentos = 3;
         if (listaRolesDeEseUsuario.Count > 1)
         {
             MessageBox.Show("El usuario" + username.Text + " tiene su username igual a su password. Debe ingresar una contraseña segura de ingreso permanente al sistema.", "Usuario inhabilitado", MessageBoxButtons.OK, MessageBoxIcon.Warning);
             SeleccionaRol seleccionaRol = new SeleccionaRol();
             usuarioGlobal.posiblesRoles = listaRolesDeEseUsuario;
             seleccionaRol.ShowDialog();
         }
         else
         {
             usuarioGlobal.rolLogueado = listaRolesDeEseUsuario[0];
         }
         MessageBox.Show("Login exitoso del usuario " + u.username, "Login completado", MessageBoxButtons.OK, MessageBoxIcon.Information);
         this.Hide();
         // show other form
         MenuPrincipal m = new MenuPrincipal();
         m.ShowDialog();
         // close application
         this.Close();
     }
     catch (CamposInvalidosException) { MessageBox.Show(Validaciones.camposInvalidos, "Error al validar campos del usuario a loguear", MessageBoxButtons.OK, MessageBoxIcon.Warning); }
     catch (PasswordIncorrectaException) { MessageBox.Show("Contraseña incorrecta. Restan " + usuarioGlobal.numeroDeIntentos + " intento(s)", "Error en contraseña", MessageBoxButtons.OK, MessageBoxIcon.Warning); }
     catch (UsuarioNoExistenteException) { MessageBox.Show("Usuario no existente en el sistema", "Error al validar campos del usuario a loguear", MessageBoxButtons.OK, MessageBoxIcon.Warning); }
     catch (UsuarioInhabilitadoException) { MessageBox.Show("El usuario " + username.Text + " se encuentra inhabilitado", "Usuario inhabilitado", MessageBoxButtons.OK, MessageBoxIcon.Warning); }
     catch (DebeCambiarContraseniaException) { }
     catch (UsuarioNoTieneRolesException) { MessageBox.Show("El usuario" + username.Text + " no posee roles", "Usuario incorrecto", MessageBoxButtons.OK, MessageBoxIcon.Warning); }
 }