public ActionResult Login(string returnUrl) { LoginViewModel model = new LoginViewModel(); ViewBag.Title = Resources.LoginResource.PageTitle; ViewBag.ReturnUrl = returnUrl; return View(model); }
public ActionResult Checklogin(LoginViewModel model, string returnUrl) { ViewBag.Title = Resources.LoginResource.PageTitle; 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); Encriptador Encrypt = new Encriptador(); using (SeguricelEntities db = new SeguricelEntities()) { Encrypt.InicioClaves("53gur1cel!n37", "4LC_C0MUN1C4C10N35@S3GUR1C3L!N37", "53gur1c3l!4lcC0mun1c4c10n35@s3gur1c3lgm41l!c0m", 5); string encryptedPassword = Encrypt.Encriptar(model.Password, Encriptador.HasAlgorimt.SHA1, Encriptador.Keysize.KS256); Usuario dataUsuario = (from u in db.Usuario where (u.CodigoUsuario == model.Email | u.Email == model.Email) && u.ClaveUsuario == encryptedPassword select u).FirstOrDefault(); if (dataUsuario != null) { switch ((eEstadoUsuario)dataUsuario.IdEstadoUsuario) { case eEstadoUsuario.Conectado: case eEstadoUsuario.Activo: string[] utz = model.UserTimeZone.Split(':'); int hourZone; int minZone; if (utz.Length <= 0) { hourZone = 0; minZone = 0; } else { hourZone = int.Parse(utz[0]); minZone = int.Parse(utz[1]); } CustomPrincipalSerializeModel serializeModel = new CustomPrincipalSerializeModel() { Email = dataUsuario.Email, Estado = (eEstadoUsuario)dataUsuario.IdEstadoUsuario, Id = dataUsuario.IdUsuario, FechaUltimaConexion = DateTime.UtcNow, Name = dataUsuario.Nombre, IdTipoUsuario = dataUsuario.IdTipoUsuario, HoursTimeZone = hourZone, MinutesTimeZone = minZone, Culture = Request.UserLanguages[0], DefaultCulture = "es-VE" }; string _jsonUserData = JsonConvert.SerializeObject(serializeModel); FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1, serializeModel.Email, DateTime.UtcNow.AddHours(-4).AddMinutes(-30), DateTime.UtcNow.AddHours(-4).AddMinutes(-15), false, _jsonUserData); string encTicket = FormsAuthentication.Encrypt(authTicket); HttpCookie faCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket); bool PrimeraVez = false; /*if (dataUsuario.FechaUltimaConexion == null) PrimeraVez = true;*/ PrimeraVez = dataUsuario.PrimeraVez; Response.Cookies.Add(faCookie); Session["user"] = encTicket; if (PrimeraVez) return RedirectToAction("Perfil", "Account"); else { return ConectarUsuario(dataUsuario, db); } case eEstadoUsuario.Inactivo: ModelState.AddModelError("", Resources.LoginResource.LoginFailedMessageInactivo); break; case eEstadoUsuario.Bloqueado: ModelState.AddModelError("", Resources.LoginResource.LoginFailedMessageBloqueado); break; default: ModelState.AddModelError("", Resources.LoginResource.LoginFailedMessage); break; } } else { ModelState.AddModelError("", Resources.LoginResource.LoginFailedMessage); } } return View(model); }
public ActionResult ForgotPassword(LoginViewModel model) { return RedirectToAction("ForgotPassword", "Account"); }