protected void btnCambiarJefe_Click(object sender, EventArgs e) { try { if (txtNuevaContraseña.Text == txtNuevaContraseñaConfirmar.Text) { if (PasswordPolicy.FormatoContraseña(txtNuevaContraseñaConfirmar.Text)) { Empleado empleado = new Empleado() { Cedula = Login.EmpleadoGlobal.Cedula, Nombre = Login.EmpleadoGlobal.Nombre, Direccion = Login.EmpleadoGlobal.Direccion, Telefono = Login.EmpleadoGlobal.Telefono, Correo = Login.EmpleadoGlobal.Correo, EstadoCivil = Login.EmpleadoGlobal.EstadoCivil, Password = Encriptacion.Encriptar(txtNuevaContraseñaConfirmar.Text, Encriptacion.Llave), FechaNacimiento = Login.EmpleadoGlobal.FechaNacimiento, IdDepartamento = Login.EmpleadoGlobal.IdDepartamento, IdRol = Login.EmpleadoGlobal.IdRol, Genero = Login.EmpleadoGlobal.Genero, Imagen = Login.EmpleadoGlobal.Imagen, Estado = true, DiasAntesCaducidad = 90, ContraseñaCaducada = false, DiasVacaciones = Login.EmpleadoGlobal.DiasVacaciones, SesionIniciada = false, FechaCaducidadContraseña = Login.EmpleadoGlobal.FechaCaducidadContraseña, FechaIngreso = Login.EmpleadoGlobal.FechaIngreso, Bloqueado = Login.EmpleadoGlobal.Bloqueado, IntentosFallidos = Login.EmpleadoGlobal.IntentosFallidos }; Singleton.OpEmpleados.ActualizarEmpleados(empleado); //this.Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('La contraseña ha sido modificada, por favor vuelve a iniciar sesión')", true); Singleton.opAudiJefe.InsertarAuditoriasJefe(Login.EmpleadoGlobal.Nombre, Login.EmpleadoGlobal.Cedula, false, false, false, false, false, false, true, false, false, false); Session.Remove("JefeCorreo"); Response.Redirect("Login.aspx"); } else { this.Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('La contraseña debe contener al menos:/n un carácter , una letra mayúscula,una letra minúscula y un numero')", true); //ClientScript.RegisterStartupScript(GetType(), "Modal", "popup();", true); } } else { this.Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('Las contraseñas no son iguales')", true); } } catch (Exception) { mensajeError.Visible = true; mensajeinfo.Visible = false; mensajawarning.Visible = false; mensaje.Visible = false; textomensajeError.InnerHtml = "Ha ocurrido un error"; } }
// public static bool FormatoContraseña(string contraseña) { try { if (Login.EmpleadoGlobal.Password == Encriptacion.Encriptar(contraseña, Encriptacion.Llave)) { return(true); } else { return(false); //this.Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('Contraseña incorrecta')", true); } } catch (Exception) { throw; } }
protected void btnCambiarEmpleado_Click(object sender, EventArgs e) { try { if (txtNuevaContraseña.Text == txtNuevaContraseñaConfirmar.Text) { Empleado empleado = new Empleado() { Cedula = Login.EmpleadoGlobal.Cedula, Nombre = Login.EmpleadoGlobal.Nombre, Direccion = Login.EmpleadoGlobal.Direccion, Telefono = Login.EmpleadoGlobal.Telefono, Correo = Login.EmpleadoGlobal.Correo, EstadoCivil = Login.EmpleadoGlobal.EstadoCivil, Password = Encriptacion.Encriptar(txtNuevaContraseñaConfirmar.Text, Encriptacion.Llave), FechaNacimiento = Login.EmpleadoGlobal.FechaNacimiento, IdDepartamento = Login.EmpleadoGlobal.IdDepartamento, IdRol = Login.EmpleadoGlobal.IdRol, Imagen = Login.EmpleadoGlobal.Imagen, Genero = Login.EmpleadoGlobal.Genero, Estado = true }; Singleton.OpEmpleados.ActualizarEmpleados(empleado); //this.Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('La contraseña ha sido modificada, por favor vuelve a iniciar sesión')", true); Singleton.opAudiEmple.InsertarAuditoriasEmpleado(Login.EmpleadoGlobal.Nombre, Login.EmpleadoGlobal.Cedula, false, false, false, false, false, false, false, true, false, false, false); Response.Redirect("Login.aspx"); } else { //this.Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('Las contraseñas no son iguales')", true); } } catch (Exception) { throw; } }
protected void btnLogin_Click(object sender, EventArgs e) { try { ValidarVacios(); if (txtcorreo.Text != null && txtcontra.Text != null) { if (Singleton.OpEmpleados.ExisteEmpleado(txtcorreo.Text)) { EmpleadoGlobal = Singleton.OpEmpleados.BuscarEmpleadoCorreo(txtcorreo.Text); Correo = EmpleadoGlobal.Correo; if (EmpleadoGlobal.Bloqueado) { mensaje.Visible = false; mensajeinfo.Visible = false; mensajeError.Visible = true; textoMensajeError.InnerHtml = "La cuenta se encuentra bloqueda, favor contactar un administrador"; txtcontra.Text = string.Empty; txtcorreo.Text = string.Empty; } else if (ValidacionCaducidadContraseña()) { mensaje.Visible = false; mensajeinfo.Visible = false; mensajeError.Visible = true; textoMensajeError.InnerHtml = "Tu contraseña ha caducado, recuerda cambiar tu contraseña cada tres meses"; txtcontra.Text = string.Empty; txtcorreo.Text = string.Empty; } else if (EmpleadoGlobal.SesionIniciada) { mensaje.Visible = false; mensajeinfo.Visible = false; mensajeError.Visible = true; textoMensajeError.InnerHtml = "Tienes un sesión abierta desde otro dispositivo"; txtcontra.Text = string.Empty; txtcorreo.Text = string.Empty; } else if (EmpleadoGlobal.IntentosFallidos <= 3) { var data = Encriptacion.Encriptar(txtcontra.Text, Encriptacion.Llave); if (EmpleadoGlobal.Password == //Encriptacion.Encriptar(txtcontra.Text, Encriptacion.Llave) && EmpleadoGlobal.Bloqueado == false && EmpleadoGlobal.ContraseñaCaducada == false) data && EmpleadoGlobal.Bloqueado == false && EmpleadoGlobal.ContraseñaCaducada == false) { //Sigleton.OpAudistoria.InsertarEnLogin(PersonaGlobal.Cedula, PersonaGlobal.Nombre, PersonaGlobal.PrimerApellido); if (EmpleadoGlobal.IdRol == 1) { Session["ROL"] = EmpleadoGlobal.IdRol; CalculoDiasVacaciones(); Empleado emple = new Empleado() { Cedula = EmpleadoGlobal.Cedula, Nombre = EmpleadoGlobal.Nombre, Direccion = EmpleadoGlobal.Direccion, Telefono = EmpleadoGlobal.Telefono, Correo = EmpleadoGlobal.Correo, EstadoCivil = EmpleadoGlobal.EstadoCivil, FechaNacimiento = EmpleadoGlobal.FechaNacimiento, IdDepartamento = EmpleadoGlobal.IdDepartamento, IdRol = EmpleadoGlobal.IdRol, Estado = EmpleadoGlobal.Estado, Genero = EmpleadoGlobal.Genero, Imagen = EmpleadoGlobal.Imagen, Password = Encriptacion.Encriptar(txtcontra.Text, Encriptacion.Llave), Bloqueado = false, IntentosFallidos = 0, DiasVacaciones = EmpleadoGlobal.DiasVacaciones, DiasAntesCaducidad = EmpleadoGlobal.DiasAntesCaducidad, ContraseñaCaducada = false, FechaCaducidadContraseña = EmpleadoGlobal.FechaCaducidadContraseña, FechaIngreso = EmpleadoGlobal.FechaIngreso, SesionIniciada = true, }; Singleton.OpEmpleados.ActualizarEmpleados(emple); Singleton.opAudiEmple.InsertarAuditoriasEmpleado(EmpleadoGlobal.Nombre, EmpleadoGlobal.Cedula, false, false, false, false, false, false, false, false, false, true, false); Session["emple"] = emple.Correo; Response.Redirect("WebForm1.aspx?ROL=" + EmpleadoGlobal.IdRol); } else if (EmpleadoGlobal.IdRol == 2 && EmpleadoGlobal.Bloqueado == false && EmpleadoGlobal.ContraseñaCaducada == false) { Session["ROL"] = EmpleadoGlobal.IdRol; CalculoDiasVacaciones(); Empleado emple = new Empleado() { Cedula = EmpleadoGlobal.Cedula, Nombre = EmpleadoGlobal.Nombre, Direccion = EmpleadoGlobal.Direccion, Telefono = EmpleadoGlobal.Telefono, Correo = EmpleadoGlobal.Correo, EstadoCivil = EmpleadoGlobal.EstadoCivil, FechaNacimiento = EmpleadoGlobal.FechaNacimiento, IdDepartamento = EmpleadoGlobal.IdDepartamento, IdRol = EmpleadoGlobal.IdRol, Estado = EmpleadoGlobal.Estado, Imagen = EmpleadoGlobal.Imagen, Genero = EmpleadoGlobal.Genero, Password = Encriptacion.Encriptar(txtcontra.Text, Encriptacion.Llave), Bloqueado = false, IntentosFallidos = 0, DiasVacaciones = EmpleadoGlobal.DiasVacaciones, DiasAntesCaducidad = EmpleadoGlobal.DiasAntesCaducidad, ContraseñaCaducada = false, FechaCaducidadContraseña = EmpleadoGlobal.FechaCaducidadContraseña, FechaIngreso = EmpleadoGlobal.FechaIngreso, SesionIniciada = true, }; Singleton.OpEmpleados.ActualizarEmpleados(emple); Singleton.opAudiJefe.InsertarAuditoriasJefe(EmpleadoGlobal.Nombre, EmpleadoGlobal.Cedula, false, false, false, false, false, false, false, false, true, false); Session["jefeCorreo"] = emple.Correo; Response.Redirect("VistaJefe.aspx?ROL=" + EmpleadoGlobal.IdRol); } else if (EmpleadoGlobal.IdRol == 3 && EmpleadoGlobal.Bloqueado == false && EmpleadoGlobal.ContraseñaCaducada == false) { Session["ROL"] = EmpleadoGlobal.IdRol; CalculoDiasVacaciones(); Empleado emple = new Empleado() { Cedula = EmpleadoGlobal.Cedula, Nombre = EmpleadoGlobal.Nombre, Direccion = EmpleadoGlobal.Direccion, Telefono = EmpleadoGlobal.Telefono, Correo = EmpleadoGlobal.Correo, EstadoCivil = EmpleadoGlobal.EstadoCivil, FechaNacimiento = EmpleadoGlobal.FechaNacimiento, IdDepartamento = EmpleadoGlobal.IdDepartamento, IdRol = EmpleadoGlobal.IdRol, Estado = EmpleadoGlobal.Estado, Genero = EmpleadoGlobal.Genero, Imagen = EmpleadoGlobal.Imagen, Password = Encriptacion.Encriptar(txtcontra.Text, Encriptacion.Llave), Bloqueado = false, IntentosFallidos = 0, DiasVacaciones = EmpleadoGlobal.DiasVacaciones, DiasAntesCaducidad = EmpleadoGlobal.DiasAntesCaducidad, ContraseñaCaducada = false, FechaCaducidadContraseña = EmpleadoGlobal.FechaCaducidadContraseña, FechaIngreso = EmpleadoGlobal.FechaIngreso, SesionIniciada = true, }; Session["AdminCorreo"] = emple.Correo; Singleton.OpEmpleados.ActualizarEmpleados(emple); Singleton.opaudi.InsertarAuditoriasAdmin(EmpleadoGlobal.Nombre, EmpleadoGlobal.Cedula, true, false, false, false, false, false, false, false, false, false, false, false, false, false); Response.Redirect("AdminView.aspx?ROL=" + EmpleadoGlobal.IdRol); } } if (EmpleadoGlobal.Password != Encriptacion.Encriptar(txtcontra.Text, Encriptacion.Llave) && EmpleadoGlobal.Bloqueado == false && EmpleadoGlobal.ContraseñaCaducada == false)//Sigleton.Encriptar(txtPassword.Text, Utilitarios.Llave)) { if (EmpleadoGlobal.IdRol == 1) { Singleton.opAudiEmple.InsertarAuditoriasEmpleado(EmpleadoGlobal.Nombre, EmpleadoGlobal.Cedula, false, false, false, false, false, false, false, false, false, false, true); } else if (EmpleadoGlobal.IdRol == 2) { Singleton.opAudiJefe.InsertarAuditoriasJefe(EmpleadoGlobal.Nombre, EmpleadoGlobal.Cedula, false, false, false, false, false, false, false, false, false, true); } else { Singleton.opaudi.InsertarAuditoriasAdmin(EmpleadoGlobal.Nombre, EmpleadoGlobal.Cedula, false, true, false, false, false, false, false, false, false, false, false, false, false, false); } if (EmpleadoGlobal.IntentosFallidos <= 2) { EmpleadoGlobal = Singleton.OpEmpleados.BuscarEmpleadoCorreo(txtcorreo.Text); mensaje.Visible = false; mensajeinfo.Visible = false; mensajeError.Visible = true; textoMensajeError.InnerHtml = "Contraseña Incorrecta"; txtcontra.Text = string.Empty; txtcorreo.Text = string.Empty; CalculoDiasVacaciones(); // Correo = txtcorreo.Text; // aqui se toma el correo para luego usarlo en el bloqueo de contraseña //Utilitarios.OpAuditoria.InsertarEnLoginFallido(PersonaGlobal.Cedula, PersonaGlobal.Nombre, PersonaGlobal.PrimerApellido); Empleado emple = new Empleado() { Cedula = EmpleadoGlobal.Cedula, Nombre = EmpleadoGlobal.Nombre, Direccion = EmpleadoGlobal.Direccion, Telefono = EmpleadoGlobal.Telefono, Correo = EmpleadoGlobal.Correo, EstadoCivil = EmpleadoGlobal.EstadoCivil, FechaNacimiento = EmpleadoGlobal.FechaNacimiento, IdDepartamento = EmpleadoGlobal.IdDepartamento, IdRol = EmpleadoGlobal.IdRol, Estado = EmpleadoGlobal.Estado, Genero = EmpleadoGlobal.Genero, Imagen = EmpleadoGlobal.Imagen, Password = EmpleadoGlobal.Password, Bloqueado = false, IntentosFallidos = EmpleadoGlobal.IntentosFallidos + 1, DiasVacaciones = EmpleadoGlobal.DiasVacaciones, DiasAntesCaducidad = EmpleadoGlobal.DiasAntesCaducidad, ContraseñaCaducada = false, FechaCaducidadContraseña = EmpleadoGlobal.FechaCaducidadContraseña, FechaIngreso = EmpleadoGlobal.FechaIngreso, SesionIniciada = true, }; Singleton.OpEmpleados.ActualizarEmpleados(emple); } else if (EmpleadoGlobal.IntentosFallidos == 3) { mensaje.Visible = false; mensajeError.Visible = true; mensajeinfo.Visible = false; textoMensajeError.InnerHtml = "La cuenta se encuentra bloqueada por exceso de intentos fallidos"; txtcontra.Text = string.Empty; txtcorreo.Text = string.Empty; CalculoDiasVacaciones(); EmpleadoBloqueo = Singleton.OpEmpleados.BuscarEmpleadoCorreo(Correo); Empleado emple = new Empleado() { Cedula = EmpleadoBloqueo.Cedula, Nombre = EmpleadoBloqueo.Nombre, Direccion = EmpleadoBloqueo.Direccion, Telefono = EmpleadoBloqueo.Telefono, Correo = EmpleadoBloqueo.Correo, EstadoCivil = EmpleadoBloqueo.EstadoCivil, FechaNacimiento = EmpleadoBloqueo.FechaNacimiento, IdDepartamento = EmpleadoBloqueo.IdDepartamento, IdRol = EmpleadoBloqueo.IdRol, Estado = EmpleadoBloqueo.Estado, Imagen = EmpleadoGlobal.Imagen, Genero = EmpleadoBloqueo.Genero, Password = EmpleadoGlobal.Password, Bloqueado = true, IntentosFallidos = EmpleadoGlobal.IntentosFallidos + 1, DiasVacaciones = EmpleadoGlobal.DiasVacaciones, DiasAntesCaducidad = EmpleadoGlobal.DiasAntesCaducidad, ContraseñaCaducada = false, FechaCaducidadContraseña = EmpleadoGlobal.FechaCaducidadContraseña, FechaIngreso = EmpleadoGlobal.FechaIngreso, SesionIniciada = true, }; Singleton.OpEmpleados.ActualizarEmpleados(emple); } } else { mensaje.Visible = false; mensajeError.Visible = false; mensajeinfo.Visible = true; textomensajeinfo.InnerHtml = "Usuario no existe"; txtcontra.Text = string.Empty; txtcorreo.Text = string.Empty; } } } } } catch (Exception ex) { mensaje.Visible = false; mensajeError.Visible = true; mensajeinfo.Visible = false; textoMensajeError.InnerHtml = "error"; } }
protected void btnValidar_Click(object sender, EventArgs e) { try { if (Singleton.OpEmpleados.ExisteEmpleado(txtemail.Text)) { EmpleadoGlobal = Singleton.OpEmpleados.BuscarEmpleadoCorreo(txtemail.Text); CodigoPin(); CalculoDiasVacaciones(); Empleado empleado = new Empleado() { Cedula = EmpleadoGlobal.Cedula, Nombre = EmpleadoGlobal.Nombre, Direccion = EmpleadoGlobal.Direccion, Telefono = EmpleadoGlobal.Telefono, Correo = EmpleadoGlobal.Correo, EstadoCivil = EmpleadoGlobal.EstadoCivil, Password = Encriptacion.Encriptar(contrasena, Encriptacion.Llave), FechaNacimiento = EmpleadoGlobal.FechaNacimiento, IdDepartamento = EmpleadoGlobal.IdDepartamento, IdRol = EmpleadoGlobal.IdRol, Estado = true, Genero = EmpleadoGlobal.Genero, Imagen = EmpleadoGlobal.Imagen, DiasVacaciones = EmpleadoGlobal.DiasVacaciones, DiasAntesCaducidad = 90, ContraseñaCaducada = false, FechaCaducidadContraseña = DateTime.Today.AddMonths(3), FechaIngreso = EmpleadoGlobal.FechaIngreso, SesionIniciada = false, Bloqueado = EmpleadoGlobal.Bloqueado, IntentosFallidos = EmpleadoGlobal.IntentosFallidos }; Singleton.OpEmpleados.ActualizarEmpleados(empleado); ThreadStart delegado = new ThreadStart(EnvioCorreo); Thread hilo = new Thread(delegado); hilo.Start(); mensajeError.Visible = false; mensaje.Visible = false; mensajeinfo.Visible = true; textomensajeinfo.InnerHtml = "Se envio un codigo pin a tu dirreccion de correo"; //using (SmtpClient cliente = new SmtpClient("smtp.live.com", 25)) //{ // cliente.EnableSsl = true; // cliente.Credentials = new NetworkCredential("*****@*****.**", "soporte123."); // MailMessage msj = new MailMessage("*****@*****.**", txtemail.Text, "Restauración de contraseña", "Has recibido una nueva contraseña: " + contrasena + ":" + "Para tu usuario: " + txtemail.Text); // cliente.Send(msj); // mensajeinfo.Visible = true; // mensajeError.Visible = false; // mensaje.Visible = false; // textomensajeinfo.InnerHtml = "Correo enviado"; //} } else { this.Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('Dirección de Correo invalida!')", true); mensajeinfo.Visible = false; mensajeError.Visible = false; mensaje.Visible = false; } } catch (Exception ex) { mensaje.Visible = false; mensajeError.Visible = true; mensajeinfo.Visible = false; textoMensajeError.InnerHtml = "error"; } }
protected void btnCrear_Click(object sender, EventArgs e) { using (SmtpClient cliente = new SmtpClient("smtp.live.com", 25)) { try { if (string.IsNullOrEmpty(txtDireccion.Text) && string.IsNullOrEmpty(txtNombre.Text) && string.IsNullOrEmpty(txtCorreo.Text) && string.IsNullOrEmpty(txtCedula.Text) && string.IsNullOrEmpty(txtFechaNacimiento.Text) && string.IsNullOrEmpty(txtTelefono.Text)) { mensaje.Visible = false; mensajeError.Visible = false; mensajeInfo.Visible = true; textomensajeInfo.InnerHtml = "Los campos son requeridos"; } else { string nombrearchivo = Path.GetFileName(fileUpload1.FileName); fileUpload1.SaveAs(Server.MapPath("~/Images/" + nombrearchivo)); //frmLogin.AutorGlobal = Utilitarios.OpAutores.BuscarAutorNombre(CboAutor.Text); //var identificacionAutor = frmLogin.AutorGlobal.Id_Autor.ToString(); DepartamentoGlobal = Singleton.opdepartamento.BuscarDepartamentosPorNombre(ddlDepartamento.Text); var IdDepartamento = DepartamentoGlobal.IdDepartamento.ToString(); RolGlobal = Singleton.oproles.BuscarRolesPorNombre(ddlRol.Text); var IdRol = RolGlobal.IdRol.ToString(); CodigoPin(); Empleado emple = new Empleado() { Cedula = txtCedula.Text, Nombre = txtNombre.Text, Direccion = txtDireccion.Text, Telefono = txtTelefono.Text, Correo = txtCorreo.Text, EstadoCivil = DddlEstadoCivil.SelectedItem.ToString(), FechaNacimiento = Convert.ToDateTime(txtFechaNacimiento.Text), IdDepartamento = Convert.ToInt32(IdDepartamento), IdRol = Convert.ToInt32(IdRol), Estado = true, Bloqueado = false, Password = Encriptacion.Encriptar(contrasena, Encriptacion.Llave), Genero = DDLgenero.SelectedItem.ToString(), Imagen = "~/Images/" + nombrearchivo, DiasVacaciones = 0, ContraseñaCaducada = false, DiasAntesCaducidad = 90, FechaCaducidadContraseña = DateTime.Today.AddMonths(3), SesionIniciada = false, FechaIngreso = DateTime.Today , IntentosFallidos = Login.EmpleadoGlobal.IntentosFallidos }; Singleton.OpEmpleados.InsertarEmpleados(emple); mensaje.Visible = true; mensajeError.Visible = false; mensajeInfo.Visible = false; textoMensaje.InnerHtml = "Usuario agregado y correo enviado"; cliente.EnableSsl = true; cliente.Credentials = new NetworkCredential("*****@*****.**", "soporte123."); MailMessage mensajeC = new MailMessage("*****@*****.**", txtCorreo.Text, "Creación de cuenta", "Se ha creado una nueva cuenta para tu usuario: " + " " + txtCorreo.Text + " " + "con la contraseña: " + contrasena + " " + "por motivos de seguridad, te recomendamos cambiar la contraseña una vez que ingreses" + " \n" + "http://rrhhsangabriel.azurewebsites.net/Login "); cliente.Send(mensajeC); Singleton.opaudi.InsertarAuditoriasAdmin(Login.EmpleadoGlobal.Nombre, Login.EmpleadoGlobal.Cedula, false, false, false, false, true, false, false, false, false, false, false, false, false, false); txtCedula.Text = string.Empty; txtNombre.Text = string.Empty; txtDireccion.Text = string.Empty; txtTelefono.Text = string.Empty; txtCorreo.Text = string.Empty; } } catch (Exception) { mensajeInfo.Visible = false; mensaje.Visible = false; mensajeError.Visible = true; textomensajeError.InnerHtml = "Hubo un error"; } } }