public bool IniciarSesion(string userName, string userPassword, bool desconectado) { try { if (desconectado) { Usuario user = usuarioDAO.TraerUsuarioConfig(userName); if (user != null && GestorHash.ObtenerInstancia().VerificarPasswordHash(userPassword, user.Clave)) { this.Usuario = user; return true; } else { return false; } } return false; } catch (Exception) { throw; } }
public bool ActualizarUsuario(Usuario usuario) { try { return securityDAO.ActualizarUsuario(usuario); } catch (Exception) { throw; } }
private void btnAceptar_Click(object sender, EventArgs e) { try { Usuario usuario = new Usuario(); usuario.Nombre = txtUsuario.Text; usuario.Clave = GestorHash.ObtenerInstancia().HashPassword(txtClave.Text); usuario.Idioma = (Idioma)cboIdioma.SelectedItem; usuario.Perfil = (PermisoBase)cboPerfil.SelectedItem; usuario.DVH = GestorHash.ObtenerInstancia().GenerarHashDatos(usuario); bool resultado = false; if (Operacion == Accion.Alta) { resultado = GestorUsuario.ObtenerInstancia().CrearUsuario(usuario); } else if (Operacion == Accion.Modificacion) { resultado = GestorUsuario.ObtenerInstancia().ActualizarUsuario(usuario); } if(resultado) { if (GestorBD.ObtenerInstancia().ActualizarDVV("USUARIO")) { MessageBox.Show("El usuario se ha creado/modificado correctamente.", "Gestión de Usuarios", MessageBoxButtons.OK, MessageBoxIcon.Information); HabilitarControles(true); this.gbDatosUsuario.Enabled = false; LimpiarControles(); CargarUsuarios(); } } } catch (Exception ex) { string mensajeError = string.Empty; if (this.Operacion == Accion.Alta) { mensajeError = ErrorManager.ObtenerInstancia().LoguearGenerarMensajeError(ex, MensajeError.AltaUsuarioFallida, FormHelper.ObtenerInstancia().TraerUltimoIdioma()); } else { mensajeError = ErrorManager.ObtenerInstancia().LoguearGenerarMensajeError(ex, MensajeError.ModificacionUsuarioFallida, FormHelper.ObtenerInstancia().TraerUltimoIdioma()); } MessageBox.Show(mensajeError, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public bool ActualizarUsuario(Usuario usuario) { try { int filasAfectadas = 0; using (SqlConnection conexion = Conexion.ObtenerInstancia().CrearConexionSQL()) { using (SqlCommand comando = conexion.CreateCommand()) { comando.CommandType = CommandType.StoredProcedure; comando.CommandText = "SPU_Usuario"; comando.Parameters.Add(new SqlParameter("@Id_Usuario", usuario.Nombre)); comando.Parameters.Add(new SqlParameter("@Clave", usuario.Clave)); comando.Parameters.Add(new SqlParameter("@Perfil", usuario.Perfil.ID)); comando.Parameters.Add(new SqlParameter("@Idioma", usuario.Idioma.ID)); comando.Parameters.Add(new SqlParameter("@DVH", usuario.DVH)); comando.Connection.Open(); filasAfectadas = comando.ExecuteNonQuery(); } } if (filasAfectadas > 0) { return true; } else { return false; } } catch (AccesoBDException ex) { throw new SecurityDAOException("ActualizarUsuario", "AccesoBD", ex.Message, ex); } catch (SqlException ex) { throw new SecurityDAOException("ActualizarUsuario", "SQL", ex.Message, ex); } catch (Exception ex) { throw new SecurityDAOException("ActualizarUsuario", "General: " + ex.GetType().ToString(), ex.Message, ex); } }
public bool CambiarIdioma(Idioma idioma, Usuario usuario) { try { usuario.Idioma = idioma; usuario.DVH = GestorHash.ObtenerInstancia().GenerarHashDatos(usuario); return securityDAO.ActualizarUsuario(usuario); } catch (Exception) { throw; } }
public string GenerarHashDatos(Usuario usuario) { try { byte[] bytesDatos; UnicodeEncoding ue = new UnicodeEncoding(); HashAlgorithm hash = HashAlgorithm.Create("SHA256"); byte[] bytesUsuario = ue.GetBytes(usuario.Nombre); byte[] bytesClave = ue.GetBytes(usuario.Clave); byte[] bytesPerfil = BitConverter.GetBytes(usuario.Perfil.ID); byte[] bytesIdioma = ue.GetBytes(usuario.Idioma.ID); bytesDatos = new byte[bytesUsuario.Length + bytesClave.Length + bytesPerfil.Length + bytesIdioma.Length]; bytesUsuario.CopyTo(bytesDatos, 0); bytesClave.CopyTo(bytesDatos, bytesUsuario.Length); bytesPerfil.CopyTo(bytesDatos, bytesClave.Length); bytesIdioma.CopyTo(bytesDatos, bytesPerfil.Length); byte[] bytesHash = hash.ComputeHash(bytesDatos); string hashDatos = ""; foreach (byte hexdigit in bytesHash) { hashDatos += hexdigit.ToString("X2", CultureInfo.InvariantCulture.NumberFormat); } return hashDatos; } catch (Exception ex) { throw new GestorHashException("GenerarHashDatos", "General: " + ex.GetType().ToString(), ex.Message, ex); } }
public bool IniciarSesion(string userName, string userPassword) { try { Usuario user = usuarioDAO.TraerUsuario(userName); if (user != null && GestorHash.ObtenerInstancia().VerificarPasswordHash(userPassword, user.Clave)) { this.Usuario = user; return true; } else { throw new LoginFallidoException("Usuario o Password incorrecto."); } } catch (Exception) { throw; } }
public List<Bitacora> ConsultarBitacora(string tipo, DateTime fecha, Usuario usuario) { List<Bitacora> registrosBitacora = null; try { registrosBitacora = bitacoraDAO.ConsultarBitacora(tipo, fecha, usuario); return registrosBitacora; } catch (Exception) { throw; } }
public List<Usuario> TraerTodosUsuarios() { try { List<Usuario> usuarios = new List<Usuario>(); Usuario usuario = null; using (SqlConnection conexion = Conexion.ObtenerInstancia().CrearConexionSQL()) { using (SqlCommand comando = conexion.CreateCommand()) { comando.CommandType = CommandType.StoredProcedure; comando.CommandText = "SPS_Usuario_Todos"; comando.Connection.Open(); SqlDataReader dataReader = comando.ExecuteReader(CommandBehavior.CloseConnection); while (dataReader.Read()) { usuario = new Usuario(); usuario.Nombre = dataReader["ID_USUARIO"].ToString(); usuario.Clave = dataReader["CLAVE"].ToString(); usuario.Perfil = TraerPermiso(Convert.ToInt16(dataReader["PERFIL"])); usuario.Idioma = TraerIdioma(dataReader["IDIOMA"].ToString()); usuario.DVH = dataReader["DVH"].ToString(); usuarios.Add(usuario); } } } return usuarios; } catch (AccesoBDException ex) { throw new SecurityDAOException("TraerTodosUsuarios", "AccesoBD", ex.Message, ex); } catch (SqlException ex) { throw new SecurityDAOException("TraerTodosUsuarios", "SQL", ex.Message, ex); } catch (Exception ex) { throw new SecurityDAOException("TraerTodosUsuarios", "General: " + ex.GetType().ToString(), ex.Message, ex); } }
public Usuario TraerUsuarioConfig(string nombreUsuario) { try { Usuario usuario = new Usuario(); usuario.Nombre = ConfigurationManager.AppSettings["UsuarioEmergencia"].ToString(); usuario.Clave = ConfigurationManager.AppSettings["PasswordEmergencia"].ToString(); if (usuario.Nombre.Equals(nombreUsuario)) { return usuario; } else { return null; } } catch (AccesoBDException ex) { throw new SecurityDAOException("TraerUsuarioConfig", "AccesoBD", ex.Message, ex); } catch (SqlException ex) { throw new SecurityDAOException("TraerUsuarioConfig", "SQL", ex.Message, ex); } catch (Exception ex) { throw new SecurityDAOException("TraerUsuarioConfig", "General: " + ex.GetType().ToString(), ex.Message, ex); } }
public bool CrearUsuario(Usuario usuario) { try { return securityDAO.InsertarUsuario(usuario); } catch (Exception e) { throw e; } }
public bool EliminarUsuario(Usuario usuario) { try { return securityDAO.EliminarUsuario(usuario); } catch (Exception) { throw; } }
private void btnBaja_Click(object sender, EventArgs e) { try { if (gridUsuarios.SelectedRows.Count != 0) { DataGridViewRow row = this.gridUsuarios.SelectedRows[0]; this.cboIdioma.SelectedValue = row.Cells["Idioma"].Value.ToString(); this.cboPerfil.SelectedValue = row.Cells["Perfil"].Value.ToString(); Usuario usuario = new Usuario(); usuario.Nombre = row.Cells["Nombre"].Value.ToString(); usuario.Idioma = (Idioma)this.cboIdioma.SelectedItem; usuario.Perfil = (PermisoBase)this.cboPerfil.SelectedItem; DialogResult dialogo = MessageBox.Show("¿Desea eliminar definitivamente al usuario " + usuario.Nombre + "?", "Baja de Usuario", MessageBoxButtons.YesNo); if (dialogo == DialogResult.Yes) { if (GestorUsuario.ObtenerInstancia().EliminarUsuario(usuario)) { if (GestorBD.ObtenerInstancia().ActualizarDVV("USUARIO")) { MessageBox.Show("El usuario se ha eliminado correctamente", "Baja de Usuario", MessageBoxButtons.OK, MessageBoxIcon.Information); CargarUsuarios(); } } } } } catch (Exception ex) { string mensajeError = ErrorManager.ObtenerInstancia().LoguearGenerarMensajeError(ex, MensajeError.BajaUsuarioFallida, FormHelper.ObtenerInstancia().TraerUltimoIdioma()); MessageBox.Show(mensajeError, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public void CerrarSesion() { this.Usuario = null; }
public void RecargarUsuario() { try { Usuario user = usuarioDAO.TraerUsuario(Usuario.Nombre); Usuario = user; } catch (Exception) { throw; } }