public JsonResult ValidaUsuario(SGP_Entity.Usuario Datos) { try { int retorno = 0; SGP_Data.Usuario da = new SGP_Data.Usuario(); var data = da.Valida_Usuario(Datos); if (data.Count > 0) { HttpContext.Application["gUsuario"] = data[0].no_usuario; FormsAuthentication.SetAuthCookie(data[0].no_usuario, false); retorno = 1; } else { retorno = -1; } return(Json(retorno, JsonRequestBehavior.AllowGet)); } catch (Exception) { throw; } }
public async Task <ActionResult> FormSubmit(SGP_Entity.Usuario model) { try { Catpcha bsObj; if (!ModelState.IsValid) { return(View(model)); } if (model.no_usuario == null || model.ps_usuario == null) { ModelState.AddModelError("", "Ususario o contraseña incorrecta."); return(View("Index")); } var response = Request["g-recaptcha-response"]; if (response == null) { SGP_Entity.Usuario Datos = new SGP_Entity.Usuario(); Datos.no_usuario = model.no_usuario; Datos.ps_usuario = model.ps_usuario; SGP_Data.Usuario da = new SGP_Data.Usuario(); var data = da.Valida_Usuario(Datos); if (data.Count > 0) { HttpContext.Application["gUsuario"] = data[0].no_usuario; FormsAuthentication.SetAuthCookie(data[0].no_usuario, false); return(RedirectToAction("Index", "Inicio")); } else { ModelState.AddModelError("", "Ususario o contraseña incorrecta."); return(View("Index")); } } if (response.Length > 0) { string secretKey = "6LcWIrgUAAAAAH0lW5KxRx8WyMerYmiDw-dEPg52"; var client = new WebClient(); var result = client.DownloadString(string.Format("https://www.google.com/recaptcha/api/siteverify?secret={0}&response={1}", secretKey, response)); using (var ms = new MemoryStream(Encoding.Unicode.GetBytes(result))) { // Deserialization from JSON DataContractJsonSerializer deserializer = new DataContractJsonSerializer(typeof(Catpcha)); bsObj = (Catpcha)deserializer.ReadObject(ms); } if (bsObj.success) { var result2 = await SignInManager.PasswordSignInAsync(model.no_usuario, model.ps_usuario, false, shouldLockout : false); switch (result2) { case SignInStatus.Success: var user = User.Identity; ApplicationDbContext context = new ApplicationDbContext(); var UserManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context)); var s = UserManager.GetRoles(user.GetUserId()); HttpContext.Application["gUsuario"] = s[0].ToString(); return(RedirectToAction("Index", "Inicio")); case SignInStatus.LockedOut: return(View("Lockout")); case SignInStatus.Failure: default: ModelState.AddModelError("", "Invalid login attempt."); return(View(model)); } //SGP_Entity.Usuario Datos = new SGP_Entity.Usuario(); //Datos.no_usuario = model.no_usuario; //Datos.ps_usuario = model.ps_usuario; //SGP_Data.Usuario da = new SGP_Data.Usuario(); //var data = da.Valida_Usuario(Datos); //if (data.Count > 0) //{ // HttpContext.Application["gUsuario"] = data[0].no_usuario; // FormsAuthentication.SetAuthCookie(data[0].no_usuario, false); // return RedirectToAction("Index", "Inicio"); //} //else //{ // ModelState.AddModelError("", "Ususario o contraseña incorrecta."); // return View("Index"); //} } else { return(View("Index")); } } else { ModelState.AddModelError("", "Validación del captcha incorrecta."); return(View("Index")); } } catch (Exception e) { ModelState.AddModelError("", e.Message.ToString()); return(View("Index")); } }