public async Task <IHttpActionResult> ChangePassword(ChangePassword model) { if (ModelState.IsValid) { try { Usuario usuario = db.Usuarios .Include(u => u.UsuarioTokensList) .Where(u => u.UsuarioId == model.Usuario) .FirstOrDefault(); usuario.Usuariopassword = Fn.EncryptText(model.Password1); db.UsuarioToken.RemoveRange(usuario.UsuarioTokensList); db.Entry(usuario).State = EntityState.Modified; await db.SaveChangesAsync(); AddLog("Usuarios/ChangePassword", usuario.UsuarioId, usuario); } catch (Exception e) { return(InternalServerError(e)); } } else { // ViewBag.flag = false; return(Ok(false)); } return(Ok(true)); }
public async Task <IHttpActionResult> RememberUser(RememberUser model) { if (ModelState.IsValid) { var user = await db.Usuarios .Where(u => (u.UsuarioId.ToLower() == model.UserOrMail.ToLower() || u.UsuarioCorreo.ToLower() == model.UserOrMail.ToLower()) && u.Usuarioactivo == true) .FirstOrDefaultAsync(); if (user != null) { //Genera HASHNroTracking string NewPass = Fn.HASH(model.UserOrMail).Substring(0, 10).ToUpper(); user.Usuariopassword = Fn.EncryptText(NewPass); user.UsuarioCambiaContrasena = true; db.Entry(user).State = EntityState.Modified; await db.SaveChangesAsync(); SendNotificationChangePassTask(user.UsuarioCorreo, user.UsuarioNombre, user.UsuarioId, NewPass); //AddLog("", user, model); } else { return(Ok(false)); } } else { return(Ok(false)); } return(Ok(true)); }
public async Task <IHttpActionResult> ValidatePassword(string Usuario, string PasswordOld) { try { string PassEncryp = Fn.EncryptText(PasswordOld); var usuario = await db.Usuarios.Where(u => u.UsuarioId == Usuario && u.Usuariopassword == PassEncryp).FirstOrDefaultAsync(); if (usuario != null) { return(Ok(true)); } else { return(Ok(false)); } } catch (Exception ex) { return(InternalServerError(ex)); } }
public ActionResult Login(Login model, string ReturnUrl) { ViewBag.ReturnUrl = ReturnUrl; if (ModelState.IsValid) { try { Seguridad seguridad = new Seguridad(); string passwordEncrypt = Fn.EncryptText(model.Password); var usuario = db.Usuarios .Where(u => u.UsuarioId.ToLower() == model.Usuario.ToLower() && u.Usuariopassword == passwordEncrypt && u.Usuarioactivo == true) .FirstOrDefault(); if (usuario != null) { CargueSeguridad(usuario); var cookie = FormsAuthentication.GetAuthCookie(usuario.UsuarioId, false); cookie.HttpOnly = true; cookie.Expires = DateTime.Now.AddYears(1); Response.AppendCookie(cookie); // fin autenticacion @ViewBag.Error = "Login Success"; /*Genera Auditoria*/ Auditoria auditoria = new Auditoria(); auditoria.AuditoriaFecha = System.DateTime.Now; auditoria.AuditoriaHora = System.DateTime.Now.TimeOfDay; auditoria.usuarioId = model.Usuario; auditoria.AuditoriaEvento = "Login"; auditoria.AuditoriaDesc = "Ingreso al sistema Correcto: " + model.Usuario; auditoria.ObjetoId = "Usuario/Login"; seguridad.insertAuditoria(auditoria); if (ViewBag.ReturnUrl != null) { return(Redirect(ViewBag.ReturnUrl)); } else { return(RedirectToAction("Index", "Test")); } } else { @ViewBag.Error = "Usuario/Contraseña Invalida o Usuario no activo"; } } catch (Exception e) { @ViewBag.Error = "Error al ingresar, por favor comunicarse con el administrador " + e.ToString(); } } return(View(model)); }
public async Task <ActionResult> Create(UsuariosViewModel model) { if (ModelState.IsValid) { try { var usuarioTemp = db.Usuarios.Where(u => u.UsuarioId == model.Usuario.UsuarioId).FirstOrDefault(); if (usuarioTemp == null) { Seguridad seguridad = new Seguridad(); model.Usuario.Usuariopassword = Fn.EncryptText(model.Usuario.Usuariopassword); db.Usuarios.Add(model.Usuario); await db.SaveChangesAsync(); //Crea registro en HV model.UsuarioHV.UsuarioId = model.Usuario.UsuarioId; db.UsuarioHV.Add(model.UsuarioHV); await db.SaveChangesAsync(); // guardaRolUsuario(RolUsuarioList, usuario.UsuarioId); //roles(rolUsuario) foreach (var rol in model.Roles) { if (rol.Seleccionado) { RolUsuario ru = new RolUsuario(); ru.RolId = rol.RolId; ru.UsuarioId = model.Usuario.UsuarioId; db.RolUsuario.Add(ru); } } foreach (var p in model.Plantas) { if (p.Seleccionado) { UsuarioPlanta up = new UsuarioPlanta(); up.PlantaId = p.PlantaId; up.UsuarioId = model.Usuario.UsuarioId; db.UsuarioPlanta.Add(up); } } foreach (var c in model.Canales) { if (c.Seleccionado) { UsuarioCanal uc = new UsuarioCanal(); uc.CanalId = c.CanalId; uc.UsuarioId = model.Usuario.UsuarioId; db.UsuarioCanal.Add(uc); } } if (!ModelState.Values.Any(ms => ms.Errors.Count > 0)) { await db.SaveChangesAsync(); AddLog("", model.Usuario.UsuarioId, model); return(RedirectToAction("Index", GetReturnSearch())); } //return RedirectToAction("Index"); } else { ModelState.AddModelError("", "Warning, This User " + model.Usuario.UsuarioId + " already exists"); } } catch (Exception e) { ViewBag.error = e.ToString(); } } /*ViewBags*/ ViewBag.Usuario_UsuarioPadreId = new SelectList(await db.Usuarios.ToListAsync(), "UsuarioId", "UsuarioNombre", model.Usuario.UsuarioPadreId); return(View(new UsuariosViewModel { Usuario = model.Usuario, Roles = model.Roles })); }