public ActionResult GrapherLogOn(GrapherLogOn model, string returnUrl) { if (ModelState.IsValid) { Encrypt encrypt = new Encrypt(); string saltkey = ""; saltkey = _grapherService.getPasswordSalt(model.GrapherEmail); model.GrapherPassword = encrypt.ComputeHash(model.GrapherPassword, saltkey); string msg = ""; LogOnResultType resultType = _grapherService.CheckAuthenticate(model.GrapherEmail, model.GrapherPassword, out msg); switch (resultType) { case LogOnResultType.SUCCESS: //Login success if (!string.IsNullOrEmpty(returnUrl)) { return(Redirect(returnUrl)); } else { return(RedirectToAction("GrapherRegister", "Grapher")); } //case LogOnResultType.PASSWORDEXPIRED: //Password expired. // return RedirectToAction("PasswordExpired", "User"); //case LogOnResultType.USEREXPIRED: //User Expired. // ModelState.AddModelError("", msg); // break; case LogOnResultType.USERLOCKED: //User Locked. ModelState.AddModelError("", msg); break; case LogOnResultType.FAILED: //Login failed. ModelState.AddModelError("", msg); break; default: break; } } else { ModelState.AddModelError("", "[ VALIDATION FAILED ]."); } return(View(model)); }
public async Task <Usuario> Autenticar(string correo, string contraseña) { string password = Encrypt.ComputeHash(contraseña, "SHA512", null); Usuario usuario = _db.usuarios.Where(m => m.CorreoElec == correo).FirstOrDefault(); if (usuario != null) { bool success = Encrypt.VerifyHash(contraseña, "SHA512", usuario.Contrasena.Trim()); if (!success) { usuario = null; } usuario.Contrasena = string.Empty; } return(usuario); }
public async Task <JsonResult> InsertarUsuario(Usuario data) { HttpResponseMessage respuesta; try { //Significa que esta insertando if (data.IdUsuario == 0) { data.Contrasena = Encrypt.ComputeHash(data.Contrasena, "SHA512", null); data.IdEstado = 2; // El 2 significa Pendiente por verificacion data.IdRol = 1; // Significa que es un usuario comun y corriente respuesta = await ApiHelper.POST <Usuario>("Usuario/PostUsuario", data, GetAuthToken).ConfigureAwait(false); } else { respuesta = await ApiHelper.PUT <Usuario>("Usuario/PutUsuario", data, GetAuthToken).ConfigureAwait(false); } if (respuesta.IsSuccessStatusCode) { //Tener acceso a la cuenta camajan if (data.IdUsuario == 0) { int idUsuarioInsertado = await respuesta.Content.ReadAsAsync <int>().ConfigureAwait(false); MailHandler.SendEmail(idUsuarioInsertado, data.CorreoElec); } return(Json((data.IdUsuario > 0) ? "El usuario se ha editado satisfactoriamente" : "El usuario ha sido guardado satisfactoriamente", JsonRequestBehavior.AllowGet)); } else { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json("Ha ocurrido un error con las validaciones del usuario. Si el problema persiste contacte su administrador.")); } } catch (Exception ex) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json("Ha ocurrido un error al momento de guardar el usuario, si el problema persiste contacte al administrador")); } }
public async Task <JsonResult> UpdatePassword(string oldPass, string newPass, string RePass) { Usuario aux = GetUserDecrypted; if (oldPass == aux.Contrasena) { if (newPass == RePass) { HttpResponseMessage respuesta = await ApiHelper.PUT <Usuario>("Usuario/PutChangePassword", new Usuario() { IdUsuario = aux.IdUsuario, Contrasena = Encrypt.ComputeHash(newPass, "SHA512", null) }, GetAuthToken); if (respuesta.IsSuccessStatusCode) { Usuario nuevo = await ApiHelper.GET_By_ID <Usuario>("Usuario/GetUsuario", aux.IdUsuario, GetAuthToken); HttpContext.Response.Cookies.Set(CookieHandler.UpdateTicket(nuevo, newPass)); return(Json(new { message = "Contraseña actualizada exitosamente", property = "alert alert-success" }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { message = "Ha ocurrido un problema al momento de actualizar la contraseña", property = "alert alert-danger" }, JsonRequestBehavior.AllowGet)); } } else { return(Json(new { message = "Las contraseñas no coinciden", property = "alert alert-danger" }, JsonRequestBehavior.AllowGet)); } } else { return(Json(new { message = "Contraseña Inválida", property = "alert alert-danger" }, JsonRequestBehavior.AllowGet)); } }
public async Task <ActionResult> SaveUploadedFile() { try { string fName = ""; int idUsuario = int.Parse(Request.Form["idUsuario"]); string Nombre = Request.Form["Nombre"]; string Persona = Request.Form["NombrePersona"]; string Correo = Request.Form["Correo"]; string Telefono = Request.Form["Telefono"]; int idPais = Convert.ToInt32(Request.Form["Pais"]); int idEstado = Convert.ToInt32(Request.Form["Estado"]); int idRol = Convert.ToInt32(Request.Form["Rol"]); string Pass = Request.Form["pass"]; string Biografia = Request.Form["Biografia"]; bool newFile = Convert.ToBoolean(Request.Form["newFile"].ToString()); Byte[] imgByte = null; string path = string.Empty; if (newFile) { string fileName; HttpPostedFileBase file; fileName = Request.Files.AllKeys[0]; file = Request.Files[fileName]; fName = file.FileName; if (file != null && file.ContentLength > 0) { string pic = System.IO.Path.GetFileName(fName); path = System.IO.Path.Combine(Server.MapPath("~/ProfileImages"), pic); file.SaveAs(path); path = "/ProfileImages/" + pic; } } Usuario user = new Usuario(); user.IdUsuario = idUsuario; user.NombreUsuario = Nombre; user.NombreCompleto = Persona; user.CorreoElec = Correo; user.Telefono = Telefono; user.IdPais = idPais; user.IdRol = idRol; user.IdEstado = idEstado; user.Contrasena = Encrypt.ComputeHash(Pass, "SHA512", null);; user.Biografia = Biografia; user.Imagen = path; HttpResponseMessage respuesta; if (idUsuario > 0) { respuesta = await ApiHelper.PUT <Usuario>("Usuario/PutUsuario", user, GetAuthToken).ConfigureAwait(false); } else { respuesta = await ApiHelper.POST <Usuario>("Usuario/PostUsuario", user, GetAuthToken).ConfigureAwait(false); } if (respuesta.IsSuccessStatusCode) { return(Json((idUsuario > 0) ? "El usuario se ha editado satisfactoriamente" : "El usuario ha sido guardado satisfactoriamente", JsonRequestBehavior.AllowGet)); } else { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json("Ha ocurrido un error al guardar. Si el problema persiste contacte su administrador.")); } } catch (Exception) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json("Ha ocurrido un error al guardar. Si el problema persiste contacte su administrador.")); } }