public ActionResult Login(FrmLogin login) { var priv = new Privacidad(); if (login.Usuario == null && login.Contraseña == null) { login.Usuario = login.Usuario_Eng; login.Contraseña = login.Contraseña_Eng; } var ln = new NegocioCuenta(); var seg = new Privacidad(); // Traduce páginas de LOGIN. TraducirPagina((String)Session["IdiomaApp"]); // Usuario con Sesión activa. if (ln.ValidarSesionActiva(login.Usuario)) { Session["ErrorLogin"] = ViewBag.ERROR_LOGIN_SESION_ACTIVA; return(RedirectToAction("Login")); } Session["IdUsuario"] = null; Session["NombreUsuario"] = null; Session["PerfilUsuario"] = null; Session["EmailUsuario"] = null; Session["CodUsuario"] = null; Session["DireccionUsuario"] = null; Session["RazonSocialUsuario"] = null; Session["UsrLogin"] = null; Session["ErrorLogin"] = null; Session["Excepcion"] = null; // Usuario incorrecto, solo devuelvo el error al Login. if (ln.ValidarUsuario(login.Usuario)) { Session["ErrorLogin"] = ViewBag.ERROR_LOGIN_USUARIO_PSW_INVALIDOS; return(RedirectToAction("Login")); } // Valido que la cuenta no este bloqueada. if (ln.ValidarBloqueoCuenta(login.Usuario)) { return(RedirectToAction("CuentaBloqueada")); } // Valido que la contraseña sea correcta, en caso negativo incremento intentos fallidos. if (ln.ValidarUsuarioPsw(login.Usuario, login.Contraseña)) { Session["ErrorLogin"] = ViewBag.ERROR_LOGIN_USUARIO_PSW_INVALIDOS; //Sumo intento fallido. if (ln.SumarIntentoFallido(login.Usuario) == 3) { ln.BloquearCuentaUsuario(login.Usuario); //Bloqueo cuenta de Usuario. var aud = new Auditoria(); aud.grabarBitacora(DateTime.Now, "SISTEMA", "BLOQUEO USUARIO", "ERROR LEVE", "Se bloqueó al Usuario: " + login.Usuario); return(RedirectToAction("CuentaBloqueada")); } return(RedirectToAction("Login")); } var usrSesion = ln.Autenticar(login); //Error en la base de datos. if (usrSesion.Nombre == null || usrSesion.PerfilUsr.Descripcion == null) { var aud = new Auditoria(); aud.grabarBitacora(DateTime.Now, "SISTEMA", "ERROR LOGIN", "ERROR LEVE", "Error al intentar ingresar al sistema."); return(RedirectToAction("Index", "Home")); } //Usuario Logueado correctamente, se mapean las variables de Sesión. Session["IdUsuario"] = usrSesion.Id.ToString(); Session["NombreUsuario"] = usrSesion.Nombre; Session["RazonSocialUsuario"] = usrSesion.RazonSocial; Session["PerfilUsuario"] = usrSesion.PerfilUsr.Descripcion; Session["EmailUsuario"] = usrSesion.Email; Session["CodUsuario"] = usrSesion.Id; Session["DireccionUsuario"] = usrSesion.Direccion; Session["IdiomaApp"] = usrSesion.Idioma.Abreviacion; Session["UsrLogin"] = usrSesion.Usr; HttpCookie cookie = new HttpCookie("UsrLogin"); cookie.Value = usrSesion.Usr; Response.Cookies.Add(cookie); //Activo la Sesión. //ln.ActivarSesionCuentaUsuario(usrSesion.Usr); return(RedirectToAction("Index", "Home")); }