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()); }
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")); } }
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)); } }
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)); } }