예제 #1
0
        public async Task<ActionResult> CambiarPass(CambiarPassword model)
        {
            if (ModelState.IsValid)
            {
                var result = await UserManager.RemovePasswordAsync(model.id);

                result = await UserManager.AddPasswordAsync(model.id, model.Password);

                if (result.Succeeded)
                {
                    var user = await UserManager.FindByIdAsync(model.id);
                    Historial nuevo = new Historial("Cambió Contraseña", User.Identity.GetUserId(), "usuario", model.id, user.UserName, Request.UserHostAddress);

                    //Para Crearlo y automaticamente longuearlo
                    //await SignInAsync(user, isPersistent: false);
                    TempData["Mensaje"] = "Se ha cambiado la contraseña correctamente al usuario."+user.UserName;

                    //Para Crearlo y automaticamente longuearlo
                    //await SignInAsync(user, isPersistent: false);
                    return RedirectToAction("Editar", "Acceso", new { id = user.Id });
                }
                else
                {
                    AddErrors(result);
                }
            }

            // Si llegamos a este punto, es que se ha producido un error y volvemos a mostrar el formulario
            TempData["Mensaje"] = "Error al cambiar la contraseña.";

            //Para Crearlo y automaticamente longuearlo
            //await SignInAsync(user, isPersistent: false);
            return RedirectToAction("Editar", "Acceso", new { id =model.id });
        }
예제 #2
0
        public async Task<ActionResult> Recovery(CambiarPassword model)
        {

            if (ModelState.IsValid)
            {
                var us = await UserManager.FindByNameAsync(model.username);
                var result = await UserManager.RemovePasswordAsync(us.Id);

                result = await UserManager.AddPasswordAsync(us.Id, model.Password);

                if (result.Succeeded)
                {
                    var user = await UserManager.FindByIdAsync(us.Id);
                    Historial nuevo = new Historial("Cambió Contraseña", us.Id, "usuario", us.Id, user.UserName, Request.UserHostAddress);

                    //Para Crearlo y automaticamente longuearlo
                    //await SignInAsync(user, isPersistent: false);
                    TempData["MensajeCambioContrasena"] = "Se ha cambiado la contraseña correctamente al usuario." + user.UserName;

                    Conexion db = new Conexion();
                    List<UsuarioRecovery> listaRecovery = db.UsuarioRecovery.Where(m => m.username == model.username).ToList();
                    db.UsuarioRecovery.RemoveRange(listaRecovery);
                    await db.SaveChangesAsync();
                    //Para Crearlo y automaticamente longuearlo
                    //await SignInAsync(user, isPersistent: false);
                    return RedirectToAction("Index","Acceso",new{returnUrl = "/"});
                }
                else
                {
                    AddErrors(result);
                }
            }

            // Si llegamos a este punto, es que se ha producido un error y volvemos a mostrar el formulario
            TempData["Mensaje"] = "Error al cambiar la contraseña.";

            //Para Crearlo y automaticamente longuearlo
            //await SignInAsync(user, isPersistent: false);
            return RedirectToAction("Recovery", "Acceso", new { id = model.id });
        }