Пример #1
0
        public ActionResult validateLoginView([Bind(Include = "USUARIO_ID,POS,SESION,NAVEGADOR,UBICACION,FECHA,LOGIN")] USUARIOLOG uSUARIOLOG, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                uSUARIOLOG.POS       = 1;
                uSUARIOLOG.SESION    = System.Web.HttpContext.Current.Session.SessionID;
                uSUARIOLOG.NAVEGADOR = Request.Browser.Type;
                ////uSUARIOLOG.UBICACION = System.Environment.MachineName + "/" + System.Environment.UserName + " - " + RegionInfo.CurrentRegion.DisplayName;
                uSUARIOLOG.UBICACION = System.Environment.UserName + " - " + RegionInfo.CurrentRegion.DisplayName;
                uSUARIOLOG.FECHA     = DateTime.Now;
                uSUARIOLOG.LOGIN     = true;
                try
                {
                    db.Entry(uSUARIOLOG).State = EntityState.Modified;
                    db.SaveChanges();
                    Session["userlog"] = uSUARIOLOG;
                }
                catch {
                    //Tal vez hay error en la conexión
                }
                return(Redirect(returnUrl));
            }

            return(View());
        }
Пример #2
0
        public ActionResult LogOff()
        {
            ////AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
            try
            {
                Session["pais"] = null;
                USUARIOLOG usu = new USUARIOLOG();

                bool   us    = false;
                string utest = ConfigurationManager.AppSettings["userTest"];
                if (utest == null)
                {
                    utest = "";
                }
                if (utest == "X")
                {
                    us = true;
                }

                if (!us)
                {
                    usu = (USUARIOLOG)Session["userlog"];
                    if (usu != null)
                    {
                        var checkUser = db.USUARIOLOGs.SingleOrDefault(x => x.USUARIO_ID == usu.USUARIO_ID);
                        if (checkUser != null)
                        {
                            if (checkUser.SESION == System.Web.HttpContext.Current.Session.SessionID)
                            {
                                db.Entry(checkUser).State = System.Data.Entity.EntityState.Deleted;
                                db.SaveChanges();
                            }
                        }
                    }
                }
                FormsAuthentication.SignOut();
                return(RedirectToAction("Index", "Home"));
            }
            catch
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
Пример #3
0
        public async Task <ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            USUARIO user = new USUARIO();

            user.ID   = model.ID;
            user.PASS = model.Password;

            Cryptography c    = new Cryptography();
            string       pass = c.Encrypt(user.PASS);

            ////using (TruequeEntities db = new TruequeEntities())
            ////{
            user = db.USUARIOs.Where(a => a.ID.Equals(user.ID) && a.PASS.Equals(pass) && a.ACTIVO == true).FirstOrDefault();
            ////}


            if (user != null)
            {
                FormsAuthentication.SetAuthCookie(model.ID, false);

                ////var authTicket = new FormsAuthenticationTicket(1, user.ID, DateTime.Now, DateTime.Now.AddMinutes(20), false, user.MIEMBROS.FirstOrDefault().ROL.NOMBRE);
                var    authTicket      = new FormsAuthenticationTicket(1, user.ID.ToUpper(), DateTime.Now, DateTime.Now.AddDays(1), false, "Administrador");
                string encryptedTicket = FormsAuthentication.Encrypt(authTicket);
                var    authCookie      = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
                HttpContext.Response.Cookies.Add(authCookie);
                ////return RedirectToAction("Index", "Home");
                if (returnUrl != null)
                {
                    bool   us    = false;
                    string utest = ConfigurationManager.AppSettings["userTest"];
                    if (utest == null)
                    {
                        utest = "";
                    }
                    if (utest == "X")
                    {
                        us = true;
                    }

                    if (!us)
                    {
                        var checkUser = db.USUARIOLOGs.SingleOrDefault(x => x.USUARIO_ID == user.ID.ToUpper());

                        try
                        {
                            if (checkUser == null)
                            {
                                USUARIOLOG usuLog = new USUARIOLOG();
                                usuLog.USUARIO_ID = user.ID.ToUpper();
                                usuLog.POS        = 1;
                                usuLog.SESION     = System.Web.HttpContext.Current.Session.SessionID;
                                usuLog.NAVEGADOR  = Request.Browser.Type;
                                usuLog.UBICACION  = System.Environment.UserName + " - " + RegionInfo.CurrentRegion.DisplayName;
                                usuLog.FECHA      = DateTime.Now;
                                usuLog.LOGIN      = true;
                                db.USUARIOLOGs.Add(usuLog);
                                db.SaveChanges();
                                Session["userlog"] = usuLog;
                                return(Redirect(returnUrl));
                            }
                            else
                            {
                                return(RedirectToAction("validateLoginView", new { USUARIO_ID = user.ID.ToUpper(), returnUrl = returnUrl }));
                                ////checkUser.USUARIO_ID = user.ID;
                                ////checkUser.POS = 1;
                                ////checkUser.SESION = System.Web.HttpContext.Current.Session.SessionID;
                                ////checkUser.NAVEGADOR = Request.Browser.Type;
                                ////checkUser.UBICACION = RegionInfo.CurrentRegion.DisplayName;
                                ////checkUser.FECHA = DateTime.Now;
                                ////checkUser.LOGIN = true;
                                ////db.SaveChanges();
                                ////Session["userlog"] = checkUser;
                                ////return Redirect(returnUrl);
                            }
                        }
                        catch
                        {
                            //Hay que revisar las posibilidades de error
                        }
                    }

                    USUARIOLOG usuLog2 = new USUARIOLOG();
                    Session["userlog"] = new USUARIOLOG();

                    return(Redirect(returnUrl));
                }
                return(RedirectToAction("Index", "Home"));
            }

            else
            {
                ModelState.AddModelError("", "Usuario/contraseña incorrecta.");
                return(View(model));
            }
        }
Пример #4
0
        public async Task <ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            //if (!ModelState.IsValid)
            //{
            //    return View(model);
            //}

            //// No cuenta los errores de inicio de sesión para el bloqueo de la cuenta
            //// Para permitir que los errores de contraseña desencadenen el bloqueo de la cuenta, cambie a shouldLockout: true
            //var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
            ////CookieAuthenticationProvider
            //switch (result)
            //{
            //    case SignInStatus.Success:
            //        return RedirectToLocal(returnUrl);
            //    case SignInStatus.LockedOut:
            //        return View("Lockout");
            //    case SignInStatus.RequiresVerification:
            //        return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
            //    case SignInStatus.Failure:
            //    default:
            //        ModelState.AddModelError("", "Intento de inicio de sesión no válido.");
            //        return View(model);
            //}
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            USUARIO user = new USUARIO();

            user.ID   = model.ID;
            user.PASS = model.Password;

            Cryptography c    = new Cryptography();
            string       pass = c.Encrypt(user.PASS);

            using (TAT001Entities db = new TAT001Entities())
            {
                user = db.USUARIOs.Where(a => a.ID.Equals(user.ID) && a.PASS.Equals(pass) & a.ACTIVO == true).FirstOrDefault();
            }
            //user =  Repository.GetUserDetails(user);

            if (user != null)
            {
                FormsAuthentication.SetAuthCookie(model.ID, false);

                //var authTicket = new FormsAuthenticationTicket(1, user.ID, DateTime.Now, DateTime.Now.AddMinutes(20), false, user.MIEMBROS.FirstOrDefault().ROL.NOMBRE);
                var    authTicket      = new FormsAuthenticationTicket(1, user.ID.ToUpper(), DateTime.Now, DateTime.Now.AddDays(1), false, "Administrador");
                string encryptedTicket = FormsAuthentication.Encrypt(authTicket);
                var    authCookie      = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
                HttpContext.Response.Cookies.Add(authCookie);
                //return RedirectToAction("Index", "Home");
                if (returnUrl != null)
                {
                    bool   us    = false;
                    string utest = ConfigurationManager.AppSettings["userTest"];
                    if (utest == null)
                    {
                        utest = "";
                    }
                    if (utest == "X")
                    {
                        us = true;
                    }

                    if (!us)
                    {
                        var checkUser = db.USUARIOLOGs.SingleOrDefault(x => x.USUARIO_ID == user.ID.ToUpper());

                        try
                        {
                            if (checkUser == null)
                            {
                                USUARIOLOG usuLog = new USUARIOLOG();
                                usuLog.USUARIO_ID = user.ID.ToUpper();
                                usuLog.POS        = 1;
                                usuLog.SESION     = System.Web.HttpContext.Current.Session.SessionID;
                                usuLog.NAVEGADOR  = Request.Browser.Type;
                                usuLog.UBICACION  = System.Environment.UserName + " - " + RegionInfo.CurrentRegion.DisplayName;
                                usuLog.FECHA      = DateTime.Now;
                                usuLog.LOGIN      = true;
                                db.USUARIOLOGs.Add(usuLog);
                                db.SaveChanges();
                                Session["userlog"] = usuLog;
                                return(Redirect(returnUrl));
                            }
                            else
                            {
                                return(RedirectToAction("validateLoginView", new { USUARIO_ID = user.ID.ToUpper(), returnUrl = returnUrl }));
                                //checkUser.USUARIO_ID = user.ID;
                                //checkUser.POS = 1;
                                //checkUser.SESION = System.Web.HttpContext.Current.Session.SessionID;
                                //checkUser.NAVEGADOR = Request.Browser.Type;
                                //checkUser.UBICACION = RegionInfo.CurrentRegion.DisplayName;
                                //checkUser.FECHA = DateTime.Now;
                                //checkUser.LOGIN = true;
                                //db.SaveChanges();
                                //Session["userlog"] = checkUser;
                                //return Redirect(returnUrl);
                            }
                        }
                        catch
                        {
                        }
                    }
                    USUARIOLOG usuLog2 = new USUARIOLOG();
                    Session["userlog"] = usuLog2;
                    return(Redirect(returnUrl));
                }
                return(RedirectToAction("Index", "Home"));
            }

            else
            {
                ModelState.AddModelError("", "Usuario/contraseña incorrecta.");
                return(View(model));
            }
        }