public ActionResult Ingreso(string msg, string nombreUsuario) { ViewBag.Usuario = String.Empty; if (!String.IsNullOrEmpty(nombreUsuario)) { ViewBag.Usuario = HttpUtility.UrlDecode(nombreUsuario); } ViewBag.Mensaje = msg; var model = new IngresoViewModel(); return(View(model)); }
public async Task <ActionResult> Ingreso(IngresoViewModel model) { try { if (ModelState.IsValid) { //1. Autentificacion model.Usuario = model.Usuario.Trim(); var loginResult = await LoginManager.LoginAsync(model.Usuario, model.Password); if (loginResult.Result == LoginResultType.InvalidUserNameOrEmailAddress || loginResult.Result == LoginResultType.InvalidPassword) { Log.InfoFormat("No existe el usuario [{0}]", model.Usuario); ModelState.AddModelError("", string.Format("Usuario ó Clave incorrecta")); //Setear nuevamente el campo usuario ViewBag.Usuario = model.Usuario; return(IntentarIngreso(model)); } if (loginResult.Result == LoginResultType.LockedOut) { Log.InfoFormat(string.Format("El usuario [{0}], se encuentra bloqueado/inactivo", model.Usuario)); ModelState.AddModelError("", string.Format("El usuario [{0}], se encuentra bloqueado/inactivo", model.Usuario)); return(IntentarIngreso(model)); } if (loginResult.Result == LoginResultType.SucessPasswordResetCode) { //Guardar en sesion, la cuenta que ya sido autentificada ManejadorSessionAcceso.setSession(ManejadorSessionAcceso.EnumerableSessionAcceso.usuario_id_pasado_autentificacion, loginResult.User.Id); return(RedirectToAction("CambiarClave")); } if (loginResult.Result == LoginResultType.SucessAuthentication) { var usuario = loginResult.User; //Si unicamente existe un modulo if (usuario.Modulos.Count == 1) { var moduloDefault = usuario.Modulos.FirstOrDefault(); var mensaje = string.Format("El usuario {0} ingresa por defecto con el codigo de modulo {1} , fecha y hora: {2}", usuario, moduloDefault.Codigo , Application.getDateTime()); return(await AutentificarUsuario(usuario, moduloDefault)); } else if (usuario.Modulos.Count > 1) { Log.InfoFormat(string.Format("El usuario [{0}], posee varios modulos ", model.Usuario)); //Guardar en sesion, la cuenta que ya sido autentificada ManejadorSessionAcceso.setSession(ManejadorSessionAcceso.EnumerableSessionAcceso.usuario_id_pasado_autentificacion, usuario.Id); return(RedirectToAction("SeleccionarModulo")); } else if (usuario.Modulos.Count == 0) { Log.ErrorFormat("Sistema. El usuario no posee modulos asociadas"); ModelState.AddModelError(string.Empty, "El usuario no posee modulos asociadas"); } } Log.InfoFormat("Sistema. El usuario {0} no existe", model.Usuario); ModelState.AddModelError(string.Empty, string.Format("El usuario no existe. {0}", loginResult.Result.ToString())); } } catch (Exception ex) { var result = ManejadorExcepciones.HandleException(ex); Log.ErrorFormat(result.Message); ModelState.AddModelError("", result.Message); } return(View(model)); }
private ActionResult IntentarIngreso(IngresoViewModel model) { return(View("Ingreso", model)); }