예제 #1
0
        public async Task <IActionResult> RestablecerPass(int id, String pass, String confpass)
        {
            Usuario u = await repo.BuscarUsuarioAsync(id);

            if (pass.Length < 6)
            {
                ViewData["Error"] = "La longitud de la contraseña nueva debe de tener al menos 6 caractéres";
                return(View(u));
            }
            else if (pass != confpass)
            {
                ViewData["Error"] = "Las nuevas contraseñas no coinciden";
                return(View(u));
            }
            else
            {
                String token = HttpContext.Session.GetString("Token");
                await repo.CambiarPasswordAsync(id, pass, token);

                return(RedirectToAction("CerrarSesion", "Manage"));
            }
        }
예제 #2
0
        public async Task <IActionResult> CambiarPass(int id, String passanterior, String passnuevo, String confpassnuevo)
        {
            Usuario u = await repo.BuscarUsuarioAsync(id);

            String salt = u.Salt;

            byte[] txtACifrar = CypherHelper.CifradoHashSHA256(passanterior + salt);
            if (CypherHelper.CompararBytes(txtACifrar, u.Password) == false)
            {
                ViewData["Error"] = "La contraseña anterior no es correcta";
                return(View(u));
            }

            else if (passnuevo.Length < 6)
            {
                ViewData["Error"] = "La longitud de la contraseña nueva debe de tener al menos 6 caractéres";
                return(View(u));
            }
            else if (passnuevo != confpassnuevo)
            {
                ViewData["Error"] = "Las nuevas contraseñas no coinciden";
                return(View(u));
            }
            else if (passanterior == passnuevo)
            {
                ViewData["Error"] = "La contraseña anterior es la misma que la nueva";
                return(View(u));
            }
            else
            {
                String token = HttpContext.Session.GetString("Token");
                await repo.CambiarPasswordAsync(id, passnuevo, token);

                return(RedirectToAction("CerrarSesion", "Manage"));
            }
        }