public ActionResult CambiarClave() { if (Request.Cookies[cookie_name] != null) { if (funcion.valid_cookie(Request.Cookies[cookie_name].Value)) { ViewBag.usuario = funcion.get_username_in_cookie(Request.Cookies[cookie_name].Value); if (TempData["mensaje"] != null) { ViewBag.mensaje = TempData["mensaje"].ToString(); } var contenido = Request.Cookies[cookie_name].Value; string usuario = funcion.get_username_in_cookie(contenido); CambiarClave model = new CambiarClave { usuario = usuario }; return(View("CambiarClave", model)); } else { return(RedirectToAction("LogOn", "Login")); } } else { return(RedirectToAction("LogOn", "Login")); } }
public ActionResult CambiarClave() { var id = UsuarioLogeadoSession.IdUsuario; ViewBag.idUsuario = id; DAL.Modelo.CambiarClave cambiaClave = new CambiarClave(); return(View()); }
private void cambiarContraseñaToolStripMenuItem_Click(object sender, EventArgs e) { CambiarClave cc = new CambiarClave(usuarioConectado.Id); cc.MdiParent = this; cc.Activate(); cc.Show(); }
public ActionResult CambiarClave(int id) { CambiarClave cambiaClave = new CambiarClave() { UsuaCodi = id }; return(View(cambiaClave)); }
private void SlLOlvidasteContasena_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { /*cambiarContraseña c = new cambiarContraseña(); * c.Show(); * this.Hide();*/ CambiarClave cambiarClave = new CambiarClave(); cambiarClave.Show(); this.Hide(); }
public static RespuestaTransaccion CambiarClaveReset(CambiarClave usuario) { try { if (usuario.ContraseniaNueva != usuario.ConfirmarContrasenia) { return new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeValidacionContrasenias } } ; else { if (usuario.ContraseniaNueva.Length < 8) { return new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeLongitudContrasenia } } ; else { var claveNueva = Cryptography.Encrypt(usuario.ContraseniaNueva); //Datos actuales del usuario Usuario usuarioActual = new Usuario(); usuarioActual = db.Usuario.Find(usuario.UsuaCodi); usuarioActual.ResetClave = false; usuarioActual.Clave = claveNueva; db.Entry(usuarioActual).State = EntityState.Modified; db.SaveChanges(); //db.EnviarCorreoUsuarioCambioClave(usuarioActual.IdUsuario); //db.SaveChanges(); return(new RespuestaTransaccion { Estado = true, Respuesta = Mensajes.MensajeTransaccionExitosa }); } } } catch (Exception ex) { return(new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeTransaccionFallida + " " + ex.ToString() }); throw; } }
public ActionResult CambiarClave(CambiarClave formulario) { RespuestaTransaccion respuesta = new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeTransaccionFallida, EntidadID = 0 }; try { Resultado = UsuarioDAL.CambiarClaveReset(formulario); if (Resultado.Estado) { SessionHelper.DestroyUserSession(); Session.Clear(); string enlace = GetUrlSitio(Url.Action("Index", "Login")); var datosusuario = UsuarioDAL.ConsultarUsuario(Convert.ToInt32(formulario.UsuaCodi)); string body = GetEmailTemplate("TemplateCambioClaveUsuario"); body = body.Replace("@ViewBag.EnlaceDirecto", enlace); body = body.Replace("@ViewBag.EnlaceSecundario", enlace); body = body.Replace("@ViewBag.Usuario", datosusuario.NombresApellidos); //Siempre que un usuario se haya creado con éxito. var notificacion = NotificacionesDAL.CrearNotificacion(new Notificaciones { NombreTarea = "Cambio de Usuario", DescripcionTarea = "El usuario cambio de clave.", NombreEmisor = nombreCorreoEmisor, CorreoEmisor = correoEmisor, ClaveCorreo = claveEmisor, CorreosDestinarios = datosusuario.MailCorporativo, AsuntoCorreo = "CAMBIO DE CLAVE", NombreArchivoPlantillaCorreo = TemplateNotificaciones, CuerpoCorreo = body, AdjuntosCorreo = "",//ruta, FechaEnvioCorreo = DateTime.Now, Empresa = "", Canal = CanalNotificaciones, Tipo = "USUARIO", }); } return(Json(new { Resultado }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { Resultado.Respuesta = Resultado.Respuesta + ";" + ex.Message; return(Json(new { Resultado }, JsonRequestBehavior.AllowGet)); } }
private void lnkCambiarClave_OpenLink(object sender, DevExpress.XtraEditors.Controls.OpenLinkEventArgs e) { try { Cursor.Current = Cursors.WaitCursor; using (var frm = new CambioClave(CambiarClave.GetCambiarClave( new FiltroUsuarios { Usuario = txtUser.Text, Dominio = cboDominio.Text }))) { if (frm.ShowDialog() == System.Windows.Forms.DialogResult.OK) { XtraMessageBox.Show( "Contraseña cambiada con éxito!", Text, MessageBoxButtons.OK, MessageBoxIcon.Information); txtPass.Focus(); } } } catch (DataPortalException ex) { XtraMessageBox.Show( ex.BusinessException.Message, Text, MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { XtraMessageBox.Show( ex.Message, Text, MessageBoxButtons.OK, MessageBoxIcon.Information); } finally { Cursor.Current = Cursors.Default; } }
/// <summary> /// Cambia la contraseña de un usuario externo, si el campo es vacio se crea una contraseña, de lo contrario registra al constraseña enviada. /// </summary> /// <param name="request">Constraseña a registrar</param> /// <returns>Contraseña generada</returns> public static ResponseCambioClave CambiarClaveWeb(RequestCambioClave request) { ResponseCambioClave response = new ResponseCambioClave(); var publicCrypter = new SimpleInteroperableEncryption(); var info = GetInfoBasicaUsuariosByCodigo(new RequestInfoBasicaUsuarioDTO { CodigoUsuario = request.CodigoUsuario, Dominio = request.Dominio }); if (!info.Resultado.Success) { throw new InvalidOperationException("El usuario no existe!"); } if (info.InfoBasica.Tipo != "E") { throw new InvalidOperationException("Sólo los usuarios externos pueden cambiar su contraseña"); } //SI SE HA SOLICITADO CONTRASEÑA, SE VALIDA LA CONTRASEÑA ANTIGUA if (request.TipoCambioClave == TipoCambioClave.Ui) { // Comprobamos si el campo de Respuesta Secreta se encuentra lleno para validar // que el usuario se olvidó se contraseña y posteriormente hacer el cambio. if (string.IsNullOrEmpty(request.RespuestaSecreta)) { ResponseLoginUsuario responseLogin = Login(new RequestLogin { CodigoUsuario = request.CodigoUsuario, Clave = publicCrypter.Decrypt(request.ClaveAntigua), Dominio = request.Dominio, AcronimoAplicacion = request.Acronimo }); if (!responseLogin.Resultado.Success) { throw new Exception("La contraseña es incorrecta."); } } else { // Comprobamos que la respuesta a la pregunta Secreta sea válida. using (var ctx = new SeguridadEntities()) { var clave = (from clav in ctx.Claves where clav.IdUsuario == info.InfoBasica.IdUsuario && clav.Ultimo select new { RespuestaSecreta = clav.Respuesta }).FirstOrDefault(); if (clave != null) { if (clave.RespuestaSecreta != GRCrypto.Encriptar(request.RespuestaSecreta)) { throw new SecurityException("La respuesta secreta no coincide!"); } } } } } // En caso sea un reseteo de clave if (request.TipoCambioClave == TipoCambioClave.Sys) { request.ClaveAntigua = request.ClaveNuevaConfirmada = request.ClaveNueva = publicCrypter.Decrypt(request.ClaveNueva); } else { //DESENCRIPTAR LA CONTRASENIA request.ClaveAntigua = publicCrypter.Decrypt(request.ClaveAntigua); request.ClaveNueva = publicCrypter.Decrypt(request.ClaveNueva); request.ClaveNuevaConfirmada = publicCrypter.Decrypt(request.ClaveNuevaConfirmada); } Result result = ValidacionCambiarClaveWeb(request); if (result.Success == false) { throw new Exception(result.Message); } bool primeraClave = false; try { //Validamos si tiene Clave registrada. GRPrincipal.Load(request.CodigoUsuario, request.Dominio); } catch (DataPortalException ex) { if (ex.BusinessException != null) { if (ex.BusinessException.GetType() == typeof(UsuarioSinClaveException)) { //SI LA EXCEPCION ES USUARIOSINCLAVE SE LE CREA UNA CLAVE ActivarUsuario activarUsuario = ActivarUsuario.GetActivarUsuario(new FiltroUsuarios { Usuario = request.CodigoUsuario, Dominio = request.Dominio }); activarUsuario.PreguntaSecreta = activarUsuario.RespuestaSecreta = request.CodigoUsuario; activarUsuario.ClaveSecreta = activarUsuario.ConfirmarClave = request.ClaveNueva; activarUsuario.Save(); primeraClave = true; } } } if (!primeraClave) { var cambiarClave = CambiarClave.GetCambiarClave(new FiltroUsuarios { Usuario = request.CodigoUsuario, Dominio = request.Dominio }); cambiarClave.ClaveNueva = cambiarClave.ConfirmarClave = request.ClaveNueva; cambiarClave.RespuestaSecreta = string.IsNullOrEmpty(request.RespuestaSecreta) ? cambiarClave.SecretAnswer : request.RespuestaSecreta; CambiarClave.ByPassClave = true; cambiarClave.Save(); } response.Correo = info.InfoBasica.Correo; response.Nombres = info.InfoBasica.NombresCompletos; response.CodigoUsuario = request.CodigoUsuario; return(response); }
public CambioClave(CambiarClave cambiarClave) { InitializeComponent(); this.cambiarClave = cambiarClave; cambiarClaveBindingSource.DataSource = cambiarClave; }
public static RespuestaTransaccion CambiarClave(CambiarClave cambiarClave) { try { //validar las contraseña nuevas coincidan if (cambiarClave.ContraseniaNueva != cambiarClave.ConfirmarContrasenia) { return(new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeValidacionContrasenias }); } else { if (cambiarClave.ContraseniaNueva.Length < 8) { return(new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeLongitudContrasenia }); } else { Usuario usuario = db.ConsultarUsuario(Convert.ToInt32(cambiarClave.idUsuario)).FirstOrDefault() ?? new Usuario(); //hacer md5 a la clave actual var claveActual = Cryptography.Encrypt(cambiarClave.ContraseniaActual); var claveNueva = Cryptography.Encrypt(cambiarClave.ContraseniaNueva); //Validar que la calve nueva sea diferente a la anterior if (cambiarClave.ContraseniaActual == cambiarClave.ContraseniaNueva) { return(new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeCambioContaseña }); } else { //Validar las claves si coinciden if (claveActual == usuario.Clave) { usuario.Clave = claveNueva; // Por si queda el Attach de la entidad y no deja actualizar var local = db.Usuario.FirstOrDefault(f => f.IdUsuario == usuario.IdUsuario); if (local != null) { db.Entry(local).State = EntityState.Detached; } db.Entry(usuario).State = EntityState.Modified; db.SaveChanges(); //db.EnviarCorreoUsuarioCambioClave(usuario.IdUsuario); db.SaveChanges(); return(new RespuestaTransaccion { Estado = true, Respuesta = Mensajes.MensajeTransaccionExitosa }); } else { return(new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeValidacionContraseniaActual }); } } } } } catch (Exception ex) { return(new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeTransaccionFallida + " " + ex.ToString() }); } }