public async Task <IActionResult> PutPassword([FromServices] IMediatorHandler bus, [FromRoute] Guid idUsuario, [FromBody] AlterarSenhaModel alterarSenha) { var response = await bus.SendCommand(new ChangePasswordCommand(idUsuario, alterarSenha.Senha, alterarSenha.ConfirmaSenha)); return(Response(response)); }
public string ChangePassword(AlterarSenhaModel senhas) { var claims = (RequestContext.Principal as ClaimsPrincipal).Claims; var id = int.Parse(claims.FirstOrDefault(c => c.Type == "id_user").Value); return(userService.ChangePassword(id, senhas.SenhaAtual, senhas.NovaSenha)); }
public async Task <IActionResult> AlterarSenha(AlterarSenhaModel model) { if (model == null) { throw new ArgumentNullException(nameof(model)); } if (!ModelState.IsValid) { return(View(model)); } ModelState.Clear(); try { var data = new AuthDataFromPassPhrase { UserIdentity = model.Login, KeyContent = model.Senha, SystemCode = settings.IdSistema }; await authService.ChangePassword(data, model.NovaSenha, model.ConfirmacaoSenha, settings.KeyCrypto); ShowSuccessMessage("Senha alterada com sucesso"); return(View()); } catch (Exception ex) { ShowErrorMessage(ex); } return(View()); }
public ActionResult AlterarSenha(AlterarSenhaModel senhaModel) { WorkLifetimeManager.Value.BeginTransaction(IsolationLevel.Serializable); try { var usuarioId = new UsuarioLogado().UsuarioId; var usuario = UsuarioRepositorio.Obter(WorkLifetimeManager.Value, usuarioId); if (usuario == null) { throw new InvalidOperationException(string.Format("Não foi possível encontrar usuário com id: {0}.", usuarioId)); } var senhaCodificada = Convert.ToBase64String(new SHA512Managed().ComputeHash(Encoding.ASCII.GetBytes(senhaModel.NovaSenha))); usuario.Senha = senhaCodificada; usuario.DeveDefinirNovaSenha = false; UsuarioRepositorio.Salvar(WorkLifetimeManager.Value, usuario); WorkLifetimeManager.Value.Commit(); return(RedirectToAction("Index", "Home")); } catch (Exception ex) { WorkLifetimeManager.Value.Rollback(); return(View("RedefinirSenha", new AlterarSenhaModel { MensagemErro = ex.Message })); } }
public IActionResult EditarSenha(AlterarSenhaModel senhaModel) { var email = HttpContext.User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.Email)?.Value; Cliente clienteDb = _facade.Query <Cliente>(c => c.Usuario.Email == email, c => c, c => c.Usuario).FirstOrDefault(); _vh = new AlterarSenhaViewHelper { ViewModel = senhaModel }; Cliente clienteSenhaNova = (Cliente)_vh.Entidades[typeof(Cliente).Name]; Cliente clienteSenhaVelha = (Cliente)_vh.Entidades[$"{typeof(Cliente).Name}Antigo"]; string senhaNova = clienteSenhaNova.Usuario.Senha; string senhaVelha = clienteSenhaVelha.Usuario.Senha; if (GerenciadorLogin.comparaSenha(senhaVelha, clienteDb.Usuario.Senha)) { clienteDb.Usuario.Senha = senhaNova; string msg = _facade.Editar(clienteDb); if (msg == "") { return(RedirectToAction(nameof(Detalhes))); } TempData["Alert"] = msg; } return(RedirectToAction(nameof(Detalhes))); }
protected override void ToViewModel() { Cliente cliente = (Cliente)Entidades[typeof(Cliente).Name]; AlterarSenhaModel vm = new AlterarSenhaModel { VelhaSenha = cliente.Usuario.Senha, Codigo = cliente.Codigo }; vm.VelhaSenha = cliente.Usuario.Senha; _viewModel = vm; }
//GET Conta/_EditarSenhaPartial public IActionResult _EditarSenhaPartial(int id) { string codigo = _facade.Query <Cliente>(c => c.Codigo == id.ToString(), c => c, c => c.Usuario).FirstOrDefault().Codigo; if (codigo == null) { return(PartialView("../Conta/PartialViews/_ErroPartial")); } AlterarSenhaModel vm = new AlterarSenhaModel { Codigo = codigo }; return(PartialView("../Conta/PartialViews/_EditarSenhaPartial", vm)); }
public ActionResult AlterarSenha(AlterarSenhaModel alterarSenhaModel) { if (ModelState.IsValid) { var usuarioId = int.Parse(Session["UsuarioId"].ToString()); var usuario = db.Usuarios.Find(usuarioId); if (usuario.Senha != alterarSenhaModel.SenhaAtual) { ModelState.AddModelError("SenhaAtual", "Senha atual não confere."); return(View()); } usuario.Senha = alterarSenhaModel.NovaSenha; db.SaveChanges(); ViewBag.Success = "Senha alterada com sucesso!"; ModelState.Clear(); } return(View()); }
/// <summary> /// Apenas altera a senha de acesso do usuário. Somente o usuário logado poderá alterar sua senha. /// </summary> /// <param name="model"></param> /// <returns></returns> public bool AlterarSenha(AlterarSenhaModel model) { if (model.IdUsuario != GetLoggedUser().IdUsuario) { throw new BusinessException("Não é permitido alterar a senha de outro usuário"); } if (model.Senha != model.Confirmar) { throw new BusinessException("As senhas informadas não conferem"); } using (var context = new DatabaseContext()) { var entity = context.Usuario.FirstOrDefault(a => a.IdUsuario == model.IdUsuario); if (entity == null) { throw new BusinessException("Usuário não encontrado"); } entity.Senha = PasswordHash.CreateHash(model.Senha); entity.SenhaSalt = PasswordHash.CreateSalt(); entity.DataHoraAlteracao = DateTime.Now; entity.IdUsuarioAlteracao = GetLoggedUser().IdUsuario; entity.PrimeiroAcesso = false; context.Entry(entity).State = EntityState.Modified; var result = context.SaveChanges() > 0; if (result) { RegistrarLogAtividade(entity, ALTERAR_SENHA); } return(result); } }
protected override void ToEntidade() { AlterarSenhaModel vm = (AlterarSenhaModel)ViewModel; Cliente cliente = new Cliente { Codigo = vm.Codigo }; Usuario user = new Usuario { Senha = vm.Senha }; cliente.Usuario = user; Entidades[typeof(Cliente).Name] = cliente; Entidades[$"{typeof(Cliente).Name}Antigo"] = new Cliente { Usuario = new Usuario { Senha = vm.VelhaSenha } }; }