예제 #1
0
        public ActionResult AlterarSenha(AlterarSenhaViewModel viewmodel)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            //CAPTURA O USUARIO QUE ESTÁ LOGADO
            var identity = User.Identity as ClaimsIdentity;
            var login    = identity.Claims.FirstOrDefault(c => c.Type == "Login").Value;

            var usuario = db.usuarios.FirstOrDefault(u => u.Login == login);

            if (Hash.GerarHash(viewmodel.SenhaAtual) != usuario.Senha)
            {
                ModelState.AddModelError("SenhaAtual", "Senha incorreta");
                return(View());
            }

            usuario.Senha           = Hash.GerarHash(viewmodel.NovaSenha);
            db.Entry(usuario).State = System.Data.Entity.EntityState.Modified;
            db.SaveChanges();

            TempData["Mensagem"] = "Senha alterada com sucesso.";
            return(RedirectToAction("Index", "Painel"));
        }
예제 #2
0
        public async Task <IActionResult> PutUsuario(int id, Usuario Usuario)
        {
            if (id != Usuario.Id)
            {
                return(BadRequest());
            }

            _context.Entry(Usuario).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!UsuarioExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
예제 #3
0
        public ActionResult AlterarSenha(AlterarSenhaViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            var identity = User.Identity as ClaimsIdentity;

            //Obtém o login do usuário autenticado
            var login = identity.Claims.FirstOrDefault(x => x.Type == "Login").Value;

            //Obtém o usuário do banco de dados.
            var usuario = db.Usuarios.FirstOrDefault(x => x.Login == login);

            //Se a senha atual corresponde com a senha do usuário autenticado.
            if (Hash.GerarHash(model.SenhaAtual) != usuario.Senha)
            {
                ModelState.AddModelError("SenhaAtual", "Senha incorreta");
                return(View());
            }

            usuario.Senha           = Hash.GerarHash(model.NovaSenha);
            db.Entry(usuario).State = EntityState.Modified;
            db.SaveChanges();

            TempData["Mensagem"] = "A senha foi alterada com sucesso.";
            return(RedirectToAction("Index", "Home"));
        }
예제 #4
0
        public ActionResult AlterarSenha(AlterarSenhaViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            //CAPTURADANDO O LOGIN PARA EFETUAR A TROCA DA SENHA
            var identity = User.Identity as ClaimsIdentity;
            var login    = identity.Claims.FirstOrDefault(c => c.Type == "Login").Value;
            var usuario  = db.Usuarios.FirstOrDefault(u => u.Login == login);

            //COMPARANDO SE A SENHA ATUAL DIGITADA É A MESMA CONTIDA NO BANCO
            if (Hash.GerarHash(viewModel.SenhaAtual) != usuario.Senha)
            {
                ModelState.AddModelError("SenhaAtual", "Senha incorreta");
                return(View());
            }
            //A SENHA ESTANADO CORRETA
            usuario.Senha           = Hash.GerarHash(viewModel.NovaSenha);
            db.Entry(usuario).State = System.Data.Entity.EntityState.Modified;
            db.SaveChanges();

            TempData["Mensagem"] = "Senha alterada com sucesso";

            return(RedirectToAction("Index", "Painel"));
        }
        public ActionResult AlterarSenha(AlterarSenhaViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }

            var identity = User.Identity as ClaimsIdentity;
            var login    = identity.Claims.FirstOrDefault(x => x.Type == "Login").Value;

            var usuario = ctx.Usuarios.FirstOrDefault(x => x.Login == login);

            if (Hash.GerarHash(viewModel.SenhaAtual) != usuario.Senha)
            {
                ModelState.AddModelError("SenhaAtual", "Senha Incorreta");
                return(View());
            }
            usuario.Senha            = Hash.GerarHash(viewModel.NovaSenha);
            ctx.Entry(usuario).State = EntityState.Modified;
            ctx.SaveChanges();

            TempData["Mensagem"] = "Senha alterada com sucesso";

            return(RedirectToAction("Index", "Painel"));
        }
        public ActionResult AlterarSenha(AlterarSenhaViewModel alterarSenhaView)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }
            //using System.Security.Claims;
            var identity = User.Identity as ClaimsIdentity; //Captura o usuário logado, fazendo o cast (conversão) para o tipo ClaimsIdentity
            var login    = identity.Claims.FirstOrDefault(u => u.Type == "Login").Value;

            var usuario = db.Usuarios.FirstOrDefault(u => u.Login == login);

            if (alterarSenhaView.SenhaAtual.CriptografarSenha() != usuario.Senha)
            {
                ModelState.AddModelError("SenhaAtual", "A Senha digitada está incorreta!");
                return(View());
            }

            if (alterarSenhaView.NovaSenha.CriptografarSenha() == usuario.Senha)
            {
                ModelState.AddModelError("NovaSenha", "A Senha nova está igual antiga!");
                return(View());
            }

            usuario.Senha           = alterarSenhaView.NovaSenha.CriptografarSenha();
            db.Entry(usuario).State = System.Data.Entity.EntityState.Modified;
            db.SaveChanges();

            TempData["Mensagem"] = "Senha alterada com sucesso!";

            return(RedirectToAction("Index", "Painel"));
        }
예제 #7
0
        public async Task <IActionResult> PutUsuario([FromRoute] long id, [FromBody] Usuario usuario)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != usuario.Id)
            {
                return(BadRequest());
            }

            _context.Entry(usuario).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!UsuarioExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
예제 #8
0
        public ActionResult AlterarSenha(AlterarSenhaViewModel viewmodel)
        {
            //validamos o ModelState para verificar as regras definidas via Data Annotationsk
            if (!ModelState.IsValid)
            {
                return(View());
            }

            //capturamos o usuário que está logado atualmente;
            var identity = User.Identity as ClaimsIdentity;
            //obtemos o login do usuário conectado;
            var login = identity.Claims.FirstOrDefault(c => c.Type == "Login").Value;
            //filtramos no banco o usuário logado para que possamos comparar sua senha com a que foi digitada;
            var usuario = db.Usuarios.FirstOrDefault(u => u.Login == login);

            //caso a senha digitada esteja incorreta, retornamos para a view com esse erro;
            if (Hash.GerarHash(viewmodel.SenhaAtual) != usuario.Senha)
            {
                ModelState.AddModelError("SenhaAtual", "Senha incorreta");
                return(View());
            }

            //alteramos a senha do usuário e gravamos essa modificação no banco de dados;
            usuario.Senha           = Hash.GerarHash(viewmodel.NovaSenha);
            db.Entry(usuario).State = System.Data.Entity.EntityState.Modified;
            db.SaveChanges();

            TempData["Mensagem"] = "Senha alterada com sucesso";

            //Retornamos para a página inicial do painel.
            return(RedirectToAction("Index", "Painel"));
        }
예제 #9
0
 public void Put([FromBody] Usuarios usuario)
 {
     context.Entry(usuario).State = System.Data.Entity.EntityState.Modified;
     context.SaveChanges();
 }