Пример #1
0
        public ActionResult AlterarSenhaUsuario(AlterarSenhaUsuarioViewModel model)
        {
            if (HttpContext.Request.HttpMethod.ToUpper() == "POST")
            {
                var usuarioLogado = (HttpContext.User as AplicacaoPrincipal);
                var alterou       = false;
                usuarioRepositorio = new UsuarioRepositorio();
                if (usuarioLogado != null)
                {
                    if (!usuarioRepositorio.ValidarSenhaAtual(model.SenhaAtual, usuarioLogado.Dados.Id))
                    {
                        ModelState.AddModelError("SenhaAtual", "A senha atual não confere.");
                    }
                    else
                    {
                        alterou = usuarioRepositorio.AlterarSenha(model.NovaSenha, usuarioLogado.Dados.Id);

                        if (alterou)
                        {
                            ViewBag.Mensagens = new String[] { "ok", "Senha alterada com sucesso." };
                        }
                        else
                        {
                            ViewBag.Mensagens = new String[] { "erro", "Não foi possível alterar a senha." };
                        }
                    }
                }
                return(View());
            }
            else
            {
                ModelState.Clear();
                return(View());
            }
        }
Пример #2
0
        public async Task <IActionResult> AlterarSenha(
            [FromBody, SwaggerParameter("Senha atual, nova senha e confirmação da nova senha.", Required = true)] AlterarSenhaUsuarioViewModel model)
        {
            var entrada = new AlterarSenhaUsuarioEntrada(base.ObterEmailUsuarioClaim(), model.Senha, model.SenhaNova, model.ConfirmarSenhaNova);

            return(new ApiResult(await _usuarioServico.AlterarSenha(entrada)));
        }
Пример #3
0
        public async Task AlterarSenha(AlterarSenhaUsuarioViewModel alterarSenha)
        {
            ContextUserDTO _loggedUser   = _facadeAuth.GetLoggedUser();
            Usuario        _autenticacao = _repository.GetByUserName(_loggedUser.UserName);

            if (!_autenticacao.IsExpiredPassword())
            {
                SignInResult _senhaAntigaResult = await _signInManager.CheckPasswordSignInAsync(_autenticacao, alterarSenha.SenhaAntiga, false);

                if (!_senhaAntigaResult.Succeeded)
                {
                    throw new ApiException(ApiErrorCodes.SENANTINV, nameof(alterarSenha.SenhaAntiga));
                }
            }

            await ValidatePassword(alterarSenha.NovaSenha, alterarSenha.ConfirmacaoNovaSenha, _autenticacao);

            IdentityResult changePasswordResult = await _userManager.ChangePasswordAsync(_autenticacao,
                                                                                         alterarSenha.SenhaAntiga,
                                                                                         alterarSenha.NovaSenha);

            _autenticacao.SetUnexpirablePassword();

            if (!changePasswordResult.Succeeded || !_uow.Commit())
            {
                throw new ApiException(ApiErrorCodes.ERALTSEIDNT);
            }
        }
Пример #4
0
        public async Task <IActionResult> AlterarSenha(AlterarSenhaUsuarioViewModel alterarSenha)
        {
            await _service.AlterarSenha(alterarSenha);

            return(Ok());
        }