public ActionResult ResetarSenha(string code) { try { var bytes = Convert.FromBase64String(code); var decBase64 = Encoding.UTF8.GetString(Aes256.descriptografar("Prova", bytes)); var model = new ResetarSenhaViewModel { Code = code, Email = decBase64.Split(',')[0] }; if (usuarioClient.ValidarCodigo(code, model.Email)) { return(View(model)); } else { return(View("Error")); } } catch (Exception) { return(View("Error")); } }
public ActionResult ResetarSenha(ResetarSenhaViewModel viewModel) { var usuario = _usuarioRepositorio.ObterUsuarioPorCPF(viewModel.CPF); if (usuario == null) { ModelState.AddModelError(string.Empty, "Usuário não encontrado"); return(View(viewModel)); } if (!usuario.Externo) { ModelState.AddModelError(string.Empty, "Opção disponível apenas para usuários Externos."); return(View(viewModel)); } if (usuario.Ativo == false) { ModelState.AddModelError(string.Empty, $"O usuário {usuario.ToString()} está inativo"); } if (viewModel.NovaSenha != viewModel.ConfirmacaoNovaSenha) { ModelState.AddModelError(string.Empty, $"O campo Nova Senha e Confirmação não são iguais"); } if (ModelState.IsValid) { using (var ws = new WsControleSenha.Criptografia()) { var resultado = ws.ValidarUsuarioCPF("CRM.TB_CRM_USUARIOS", usuario.LoginExterno, usuario.CPF); if (resultado != "AUTORIZADO") { ModelState.AddModelError(string.Empty, resultado); return(View(viewModel)); } resultado = ws.alterarSenha(viewModel.NovaSenha, "CRM.TB_CRM_USUARIOS", usuario.LoginExterno); if (resultado != "OK") { ModelState.AddModelError(string.Empty, resultado); return(View(viewModel)); } usuario.AlterarSenha(viewModel.NovaSenha); _usuarioRepositorio.AlterarSenha(usuario); TempData["Sucesso"] = true; } } return(View(viewModel)); }
public async Task <ActionResult> ResetarSenha(ResetarSenhaViewModel model) { if (!ModelState.IsValid) { return(RetornarComErro(ModelState)); } var result = usuarioClient.BuscarUsuarioPorEmail(model.Email); if (result.Sucesso) { usuarioClient.ResetarSenha(model.SenhaHash, model.Code, result.Data.Id); } var redirectUrl = new UrlHelper(Request.RequestContext).Action("ResetarSenhaConfirmacao", "Account"); return(Json(new { Url = redirectUrl })); }