public static PocInfoSesion ValidarUsuario(ModLogin login) { login.Password = login.Password.Encrypt(); var url = RestConfig.Get("ApiCore", "Auth", "ValidarUsuario"); var user = RestClient.CoreRequest <PocInfoSesion>(url, login); SeguridadDelegate.UsuarioTemporal = user; return(user); }
public ActionResult ValidarUsuario(ModLogin login) { Session.RemoveAll(); login.CodSesion = SecurityProps.SessionCode; login.DireccionIpv4 = SecurityProps.Ipv4Address; PocInfoSesion user = null; try { user = SeguridadDelegate.ValidarUsuario(login); } catch (CoreException e) { if (login.IsEmbedded) { e.Validation.Errors.ToList().ForEach(err => { ModelState.AddModelError("", err.Message); }); return(RedirectToAction("Index", "Home")); } throw e; } if (user.NotificaVencimiento) { if (user.FecVencePass.HasValue) { var fecVencimiento = user.FecVencePass.Value; var vencimiento = (fecVencimiento - DateTime.Today).TotalDays; if (vencimiento <= 0) { ViewBag.Vencimiento = "VENCIMIENTO"; ViewBag.IsEmbedded = login.IsEmbedded; var model = new ModCambioContrasena { CodUsuario = user.CodUsuario }; if (login.IsEmbedded) { return(View("_LogInRenew", model)); } return(PartialView("_LogInRenew", model)); } if (login.IsEmbedded) { ViewBag.Vencimiento = vencimiento; return(View("_LogInRenewPrompt")); } return(Json(new { vencimiento = vencimiento }, JsonRequestBehavior.AllowGet)); } } if (AppProperties.SECURITY == (int)EnumIdEstado.Activo) { if (user.OtpActivo) { if (login.IsEmbedded) { return(View("_AutenticarOTP")); } return(PartialView("_AutenticarOTP")); } else if (user.IdEstado == (int)EnumEstadoUsuario.Activo && user.RequiereOtp && !user.OtpActivo) { ViewBag.Action = "validaOTP"; var model = SeguridadDelegate.GenerarCodigo(user.CodUsuario); SeguridadDelegate.UsuarioTemporal = user; if (login.IsEmbedded) { return(View("_CrearClaveAut", model)); } return(PartialView("_CrearClaveAut", model)); } } return(ProcesaRespuestaAuth(false, login.IsEmbedded)); }