Example #1
0
        public ActionResult Login2()
        {
            if (TempData.ContainsKey("error"))
            {
                ViewData["error"] = TempData["error"];
                return(View("ShowForm"));
            }

            var usr  = Request.Form["username"];
            var pass = Request.Form["password"];

            //numerico?
            int dummy = 0;

            if (int.TryParse(Request.Form["username"], out dummy) == false)
            {
                usr = "******";
            }

            //Hack: no pass? te pongo uno cualquiera
            if (String.IsNullOrWhiteSpace(pass))
            {
                pass = "******";
            }

            //  Validar usuario
            //-  200:  usr no existe                       [USUARIO NO EXISTE]
            //-  100:  pass invalido                       [INVALID PASS]

            //-  0:  usuario ok / destino ok / fecha ok    [TODO OK]
            //-  1:  usuario ok / destino no               [DESTINO DISTINTO]
            //-  2:  usuario ok / destino ok / fecha no    [CUENTA VENCIDA]
            //-  4:  usuario ok / destino ok / fecha ok    [MISMO USR/PASS]

            int result = DaoLib.loguser2(usr, pass);

            //[TODO OK]
            if (result == 0)
            {
                var datos  = DaoLib.datos_del_usuario(Request.Form["username"]);
                var acceso = (datos[0] as Dictionary <string, string>)["NIVACC"];

                if (String.IsNullOrWhiteSpace(acceso))
                {
                    acceso = "1";
                }

                //Marcar sesion logeado
                Session["logged"]  = 1;
                Session["usuario"] = Request.Form["username"];
                Session["acceso"]  = acceso;

                //Nuevo
                Session["barcos_data"] = BarcosDataView.EN_ZONA;

                DaoLib.login_usuario("dummy");

                return(Redirect(Url.Content("~/")));
            }

            //[USUARIO NO EXISTE]
            if (result == 200)
            {
                ViewData["error"] = "El usuario no existe.<br/>Solicite acceso al sistema o nuevo usuario a través de la intranet y/o comunicarse con el int 2964.";
                return(View("ShowForm"));
            }

            //[INVALID USR/PASS]
            if (result == 100)
            {
                ViewData["error"] = "La contraseña es incorrecta";
                return(View("ShowForm"));
            }

            //[DESTINO DISTINTO]]
            if (result == 1)
            {
                ViewData["error"] = "Cambio de destino.<br/>Solicite reactivación de cuenta a través de la pagina inicial de intranet y/o comunicarse con el int 2964.";
                return(View("ShowForm"));
            }

            //[CUENTA VENCIDA]
            if (result == 2)
            {
                ViewData["error"] = "Cuenta vencida.<br/>Solicite reactivación de cuenta a través de la pagina inicial de intranet y/o comunicarse con el int 2964.";
                return(View("ShowForm"));
            }

            // 4: [MISMO USR/PASS]
            ViewData["ndoc"] = usr;
            return(View("SelectNewPass"));
        }
Example #2
0
        public ActionResult Login2()
        {
            if (TempData.ContainsKey("error"))
            {
                ViewData["error"] = TempData["error"];
                return(View("ShowForm"));
            }

            var usr  = Request.Form["username"];
            var pass = Request.Form["password"];

            //numerico?
            int dummy = 0;

            if (int.TryParse(Request.Form["username"], out dummy) == false)
            {
                usr = "******";
            }

            //  Validar usuario
            //-  200:  usr no existe                       [USUARIO NO EXISTE]
            //-  100:  pass invalido                       [INVALID PASS]

            //-  0:  usuario ok / destino ok / fecha ok    [TODO OK]
            //-  1:  usuario ok / destino no               [DESTINO DISTINTO]
            //-  2:  usuario ok / destino ok / fecha no    [CUENTA VENCIDA]
            //-  4:  usuario ok / destino ok / fecha ok    [MISMO USR/PASS]

            int result = DaoLib.loguser2(usr, pass);

            //[TODO OK]
            if (result == 0)
            {
                var datos = DaoLib.datos_del_usuario(Request.Form["username"]);

                //HACK: Hasta que ricardo actualice
                if (ConfigurationManager.AppSettings["validate_access_level"] == "false")
                {
                    (datos[0] as Dictionary <string, string>)["NIVACC"] = "9";
                }

                if ((datos[0] as Dictionary <string, string>)["NIVACC"] != "9")
                {
                    ViewData["error"] = "Permisos insuficientes";
                    return(View("ShowForm"));
                }
            }


            //[TODO OK]+ACCESO
            if (result == 0)
            {
                //Marcar sesion logeado
                Session["logged"]  = 1;
                Session["usuario"] = Request.Form["username"];
                Session["acceso"]  = "9";
                return(Redirect(Url.Content("~/")));
            }

            //[USUARIO NO EXISTE]
            if (result == 200)
            {
                ViewData["error"] = "El usuario no existe.<br/>Solicite acceso al sistema o nuevo usuario a través de la intranet y/o comunicarse con el int 2964.";
                return(View("ShowForm"));
            }

            //[INVALID USR/PASS]
            if (result == 100)
            {
                ViewData["error"] = "La contraseña es incorrecta";
                return(View("ShowForm"));
            }

            //[DESTINO DISTINTO]]
            if (result == 1)
            {
                ViewData["error"] = "Cambio de destino.<br/>Solicite reactivación de cuenta a través de la pagina inicial de intranet y/o comunicarse con el int 2964.";
                return(View("ShowForm"));
            }

            //[CUENTA VENCIDA]
            if (result == 2)
            {
                ViewData["error"] = "Cuenta vencida.<br/>Solicite reactivación de cuenta a través de la pagina inicial de intranet y/o comunicarse con el int 2940.";
                return(View("ShowForm"));
            }

            // 4: [MISMO USR/PASS]
            ViewData["error"] = "Error desconocido";
            return(View("ShowForm"));
        }