Exemplo n.º 1
0
        public void ReestablecerContraseña(string nombreUsuario)
        {
            try
            {
                var usuario = usuarioBLL.Obtener(nombreUsuario);
                usuario.Contraseña = servicioSeguridad.Encriptar(servicioSeguridad.GenerarContraseñaAleatoria(8));

                usuarioBLL.Modificacion(usuario);
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemplo n.º 2
0
        private void ClickIngresar(object sender, EventArgs e)
        {
            try
            {
                var nombreDeUsuario = ((TextBox)controles.Find(x => x.Name == "txtUsuario")).Text;
                var contraseña      = servicioSeguridad.Encriptar(((TextBox)controles.Find(x => x.Name == "txtContraseña")).Text);

                if (string.IsNullOrWhiteSpace(nombreDeUsuario) || string.IsNullOrWhiteSpace(contraseña))
                {
                    ((TextBox)controles.Find(x => x.Name == "txtUsuario")).Focus();
                    throw new Exception("Debe completar todos los campos");
                }
                if (!seguridadBLL.NombreDeUsuarioValido(nombreDeUsuario))
                {
                    ((TextBox)controles.Find(x => x.Name == "txtUsuario")).Focus();
                    ServicioConfiguracionDeControles.LimpiarControles(this.controles);
                    throw new Exception("El usuario no existe");
                }

                if (seguridadBLL.ContraseñaValida(nombreDeUsuario, contraseña))
                {
                    SeguridadBLL.usuarioLogueado = usuarioBLL.Obtener(nombreDeUsuario);
                    ServicioConfiguracionDeControles.LimpiarControles(this.controles);

                    frm.Hide();
                    frmPrincipal.ShowDialog();
                    frm.Show();
                }
                else
                {
                    if (!intentosPorUsuario.ContainsKey(nombreDeUsuario))
                    {
                        intentosPorUsuario.Add(nombreDeUsuario, 0);
                    }

                    ServicioConfiguracionDeControles.LimpiarControles(this.controles);
                    intentosPorUsuario[nombreDeUsuario] += 1;

                    if (intentosPorUsuario[nombreDeUsuario] == 5)
                    {
                        this.ReestablecerContraseña(nombreDeUsuario);
                        intentosPorUsuario[nombreDeUsuario] = 0;
                    }
                    else
                    {
                        ((TextBox)controles.Find(x => x.Name == "txtUsuario")).Focus();
                        throw new Exception("La contraseña es incorrecta");
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Exemplo n.º 3
0
        private void ClickAceptar(object sender, EventArgs e)
        {
            try
            {
                if (DatosValidos())
                {
                    var usuario = new Entidades.Usuario();
                    usuario.Id              = idUsuario ?? 0;
                    usuario.Nombre          = ((TextBox)controles.Find(x => x.Name == "txtNombre")).Text;
                    usuario.Apellido        = ((TextBox)controles.Find(x => x.Name == "txtApellido")).Text;
                    usuario.DNI             = int.Parse(((TextBox)controles.Find(x => x.Name == "txtDNI")).Text);
                    usuario.NombreDeUsuario = ((TextBox)controles.Find(x => x.Name == "txtNombreDeUsuario")).Text;
                    usuario.Contraseña      = servicioSeguridad.Encriptar(((TextBox)controles.Find(x => x.Name == "txtContraseña")).Text);
                    usuario.Correo          = ((TextBox)controles.Find(x => x.Name == "txtCorreo")).Text;

                    string idRolSeleccionado = ((ComboBox)controles.Find(x => x.Name == "comboRoles")).SelectedValue.ToString();
                    usuario.Rol = rolBLL.Obtener(int.Parse(idRolSeleccionado));

                    string idUbicacionSeleccionado = ((ComboBox)controles.Find(x => x.Name == "comboUbicacion")).SelectedValue.ToString();
                    usuario.Ubicacion = ubicacionBLL.Obtener(int.Parse(idUbicacionSeleccionado));

                    if (idUsuario.HasValue)
                    {
                        usuarioBLL.Modificacion(usuario);
                        MessageBox.Show("Recuerde que si modificó al usuario con el que está logueado, debe cerrar sesión y volver a iniciar para ver reflejados los cambios", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        usuarioBLL.Alta(usuario);
                    }

                    frm.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }