public ActionResult Login(LoginViewModel model, string returnUrl) { try { if (!ModelState.IsValid) { ModelState.AddModelError("", "Usuario o Password Incorrectos"); return(View()); } else { clsUsuario Objusuario = new clsUsuario(); var usuario = Objusuario.ConsultarUsuario1(model.Usuario, Seguridad.Encriptar(model.Password)).Where(x => x.estado == true); int Rol = Objusuario.ConsultarRolUsuario(model.Usuario); int estado = Objusuario.ConsultarEstadoUsuario(model.Usuario); if (estado == 1) { if (usuario.Count() > 0) { Session["US"] = model.Usuario; Session["PW"] = model.Password; if (Rol.Equals(1)) { Session["ROLES"] = "Admin"; } if (Rol.Equals(2)) { Session["ROLES"] = "Regular"; } if (Rol.Equals(3)) { Session["ROLES"] = "Bodega"; } string baseUrl = ConfigurationManager.AppSettings["URL_API"]; //crea el el encabezado HttpClient client = new HttpClient(); client.BaseAddress = new Uri(baseUrl); var contentType = new MediaTypeWithQualityHeaderValue("application/json"); client.DefaultRequestHeaders.Accept.Add(contentType); Usuario userModel = new Usuario(); userModel.UserName = model.Usuario; userModel.Password = Seguridad.Encriptar(model.Password); string stringData = JsonConvert.SerializeObject(userModel); var contentData = new StringContent(stringData, System.Text.Encoding.UTF8, "application/json"); HttpResponseMessage response = client.PostAsync("/api/login/authenticate", contentData).Result; var stringJWT = response.Content.ReadAsStringAsync().Result; JWT jwt = new JWT { Token = stringJWT.Replace("\"", "") }; //Aca se crea la sesion Session["token"] = jwt.Token; Session["US"] = model.Usuario.ToUpper(); string userData = "Datos específicos de aplicación para este usuario."; FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, model.Usuario.ToUpper(), DateTime.Now, DateTime.Now.AddMinutes(30), model.RememberMe, userData, FormsAuthentication.FormsCookiePath); // Encryptar el ticket. string encTicket = FormsAuthentication.Encrypt(ticket); // Crea la cookie. Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket)); if (!string.IsNullOrEmpty(returnUrl)) { return(Redirect(returnUrl)); } else { return(RedirectToAction("Index", "Home")); } } else { ModelState.AddModelError("Error de Autenticación", "Usuario o Contaseña Invalida"); } } else { ModelState.AddModelError("Error de Autenticación", "El usuario ingresado está deshabilitado"); } } } catch (Exception ex) { ModelState.AddModelError("Error de Autenticación", "Usuario o Contaseña Invalida"); } return(View(model)); }