コード例 #1
0
        public void DefinirSenha(NovaSenhaViewModel novaSenhaViewModel)
        {
            Usuario oUsuario = Consulta.FirstOrDefault(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.UniqueKey.Equals(novaSenhaViewModel.UKUsuario));

            if (oUsuario == null)
            {
                throw new Exception("Não foi possível localizar o usuário através da identificação.");
            }
            else
            {
                oUsuario.UsuarioExclusao = oUsuario.Login;
                Terminar(oUsuario);


                Usuario oUser = new Usuario()
                {
                    CPF            = oUsuario.CPF,
                    Email          = oUsuario.Email,
                    Login          = oUsuario.Login,
                    Nome           = oUsuario.Nome,
                    Senha          = CreateHashFromPassword(novaSenhaViewModel.ConfirmarNovaSenha),
                    TipoDeAcesso   = oUsuario.TipoDeAcesso,
                    UKDepartamento = oUsuario.UKDepartamento,
                    UKEmpresa      = oUsuario.UKEmpresa,
                    UniqueKey      = oUsuario.UniqueKey
                };
                base.Inserir(oUser);


                EnviarEmailParaUsuarioSenhaAlterada(oUsuario);
            }
        }
コード例 #2
0
        public IActionResult RetornoEsqueceuSenha(string usuarioId, string token)
        {
            var modelo = new NovaSenhaViewModel()
            {
                UsuarioId = usuarioId,
                Token     = token
            };

            return(View(modelo));
        }
コード例 #3
0
        public ActionResult DefinirSenha(NovaSenhaViewModel novaSenhaViewModel)
        {
            if (ModelState.IsValid)
            {
                if (novaSenhaViewModel.NovaSenha.Equals(novaSenhaViewModel.ConfirmarNovaSenha))
                {
                    try
                    {
                        if (string.IsNullOrEmpty(novaSenhaViewModel.IDUsuario))
                        {
                            return(Json(new { resultado = new RetornoJSON()
                                              {
                                                  Erro = "Não foi possível localizar o ID do usuário através de sua requisição. Solicite um novo acesso."
                                              } }));
                        }

                        UsuarioBusiness.DefinirSenha(novaSenhaViewModel);
                        TempData["MensagemSucesso"] = "Senha alterada com sucesso.";
                        return(Json(new { resultado = new RetornoJSON()
                                          {
                                              URL = Url.Action("Login", "Conta")
                                          } }));
                    }
                    catch (Exception ex)
                    {
                        if (ex.GetBaseException() == null)
                        {
                            return(Json(new { resultado = new RetornoJSON()
                                              {
                                                  Erro = ex.Message
                                              } }));
                        }
                        else
                        {
                            return(Json(new { resultado = new RetornoJSON()
                                              {
                                                  Erro = ex.GetBaseException().Message
                                              } }));
                        }
                    }
                }
                else
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = "As duas senhas devem ser identicas."
                                      } }));
                }
            }
            else
            {
                return(Json(new { resultado = TratarRetornoValidacaoToJSON() }));
            }
        }
コード例 #4
0
        public ActionResult RedefinirSenha(int id)
        {
            var usuario = UsuarioModel.RecuperarPeloId(id);
            if (usuario == null)
            {
                id = -1;
            }

            var model = new NovaSenhaViewModel() { Usuario = id };

            ViewBag.Mensagem = null;

            return View(model);
        }
コード例 #5
0
        public ActionResult DefinirNovaSenha(string id)
        {
            try
            {
                if (string.IsNullOrEmpty(id))
                {
                    Extensions.GravaCookie("MensagemSucesso", "Não foi possível recuperar a identificação do usuário.", 10);


                    //TempData["MensagemErro"] = "Não foi possível recuperar a identificação do usuário.";
                }
                else
                {
                    id = GISHelpers.Utils.Criptografador.Descriptografar(WebUtility.UrlDecode(id.Replace("_@", "%")), 1);

                    string numDiasExpiracao = ConfigurationManager.AppSettings["Web:ExpirarLinkAcesso"];
                    if (string.IsNullOrEmpty(numDiasExpiracao))
                    {
                        numDiasExpiracao = "1";
                    }

                    if (DateTime.Now.Subtract(DateTime.ParseExact(id.Substring(id.IndexOf("#") + 1), "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture)).Days > int.Parse(numDiasExpiracao))
                    {
                        Extensions.GravaCookie("MensagemSucesso", "Este link já expirou, solicite um outro link na opção abaixo.", 10);

                        //TempData["MensagemErro"] = "Este link já expirou, solicite um outro link na opção abaixo.";
                    }
                    else
                    {
                        NovaSenhaViewModel oNovaSenhaViewModel = new NovaSenhaViewModel();
                        //oNovaSenhaViewModel.UKUsuario = id.Substring(0, id.IndexOf("#"));
                        return(View(oNovaSenhaViewModel));
                    }
                }
            }
            catch (Exception ex)
            {
                if (ex.GetBaseException() == null)
                {
                    TempData["MensagemErro"] = ex.Message;
                }
                else
                {
                    TempData["MensagemErro"] = ex.GetBaseException().Message;
                }
            }

            return(View());
        }
コード例 #6
0
        public void DefinirSenha(NovaSenhaViewModel novaSenhaViewModel)
        {
            Usuario oUsuario = Consulta.FirstOrDefault(p => string.IsNullOrEmpty(p.UsuarioExclusao) && p.IDUsuario.Equals(novaSenhaViewModel.IDUsuario));

            if (oUsuario == null)
            {
                throw new Exception("Não foi possível localizar o usuário através da identificação. Solicite um novo acesso.");
            }
            else
            {
                oUsuario.Senha = CreateHashFromPassword(novaSenhaViewModel.NovaSenha);
                Alterar(oUsuario);
                EnviarEmailParaUsuarioSenhaAlterada(oUsuario);
            }
        }
コード例 #7
0
        public ActionResult RedefinirSenha(NovaSenhaViewModel model)
        {
            ViewBag.Mensagem = null;

            if (!ModelState.IsValid)
            {
                return View(model);
            }

            var usuario = UsuarioModel.RecuperarPeloId(model.Usuario);
            if (usuario != null)
            {
                var ok = usuario.AlterarSenha(model.Senha);
                ViewBag.Mensagem = ok ? "Senha alterada com sucesso!" : "Não foi possível alterar a senha!";
            }

            return View();
        }
コード例 #8
0
        public ActionResult SolicitarAcesso(NovaSenhaViewModel novaSenhaViewModel)
        {
            if (!string.IsNullOrEmpty(novaSenhaViewModel.Email))
            {
                try
                {
                    UsuarioBusiness.SolicitarAcesso(novaSenhaViewModel.Email);
                    Extensions.GravaCookie("MensagemSucesso", "Solicitação de acesso realizada com sucesso.", 10);


                    //TempData["MensagemSucesso"] = "Solicitação de acesso realizada com sucesso.";
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          URL = Url.Action("Login", "Account")
                                      } }));
                }
                catch (Exception ex)
                {
                    if (ex.GetBaseException() == null)
                    {
                        return(Json(new { resultado = new RetornoJSON()
                                          {
                                              Erro = ex.Message
                                          } }));
                    }
                    else
                    {
                        return(Json(new { resultado = new RetornoJSON()
                                          {
                                              Erro = ex.GetBaseException().Message
                                          } }));
                    }
                }
            }
            else
            {
                return(Json(new { resultado = new RetornoJSON()
                                  {
                                      Erro = "Informe o e-mail cadastrado em sua conta."
                                  } }));
            }
        }
コード例 #9
0
        public ActionResult RedefinirSenha(int id)
        {
            usuarioRepositorio = new UsuarioRepositorio();

            var usuario = usuarioRepositorio.RecuperarPeloId(id);

            if (usuario == null)
            {
                id = -1;
            }

            var model = new NovaSenhaViewModel()
            {
                Usuario = id
            };

            ViewBag.Mensagem = null;

            return(View(model));
        }
コード例 #10
0
        public async Task <IActionResult> RetornoEsqueceuSenha(NovaSenhaViewModel modelo)
        {
            if (ModelState.IsValid & modelo != null)
            {
                var usuario = await _userManager.FindByIdAsync(modelo.UsuarioId).ConfigureAwait(false);

                if (usuario != null)
                {
                    var resultadoAlteracao = await _userManager.ResetPasswordAsync(usuario, modelo.Token, modelo.NovaSenha).ConfigureAwait(false);

                    if (resultadoAlteracao.Succeeded)
                    {
                        ViewData["Alerta"]   = 1;
                        ViewData["Mensagem"] = _localizador["Senha Alterada Com Sucesso"];
                        return(View());
                    }
                }
            }
            ModelState.AddModelError("", _localizador["Não conseguimos alterar sua senha!"]);
            ViewData["ApresentarRegrasSenha"] = 1;
            ViewData["erroLoginOuCadastro"]   = 1;
            return(View(modelo));
        }
コード例 #11
0
        public ActionResult DefinirSenha(NovaSenhaViewModel entidade)
        {
            if (ModelState.IsValid)
            {
                if (entidade.NovaSenha.Equals(entidade.ConfirmarNovaSenha))
                {
                    try
                    {
                        Usuario user = UsuarioBusiness.Consulta.FirstOrDefault(a => string.IsNullOrEmpty(a.UsuarioExclusao) && a.Login.Equals(AutorizacaoProvider.UsuarioAutenticado.Login));

                        if (user == null)
                        {
                            return(Json(new { resultado = new RetornoJSON()
                                              {
                                                  Erro = "Não foi possível localizar o usuário logado na base de dados. Favor acionar o administrador."
                                              } }));
                        }

                        if (!user.Senha.Equals(UsuarioBusiness.CreateHashFromPassword(entidade.SenhaAtual)))
                        {
                            return(Json(new { resultado = new RetornoJSON()
                                              {
                                                  Alerta = "A senha atual não confere com a senha da base de dados."
                                              } }));
                        }

                        entidade.IDUsuario = user.ID;

                        UsuarioBusiness.DefinirSenha(entidade);

                        return(Json(new { resultado = new RetornoJSON()
                                          {
                                              Sucesso = "Senha alterada com sucesso."
                                          } }));
                    }
                    catch (Exception ex)
                    {
                        if (ex.GetBaseException() == null)
                        {
                            return(Json(new { resultado = new RetornoJSON()
                                              {
                                                  Erro = ex.Message
                                              } }));
                        }
                        else
                        {
                            return(Json(new { resultado = new RetornoJSON()
                                              {
                                                  Erro = ex.GetBaseException().Message
                                              } }));
                        }
                    }
                }
                else
                {
                    return(Json(new { resultado = new RetornoJSON()
                                      {
                                          Erro = "As duas senhas devem ser identicas."
                                      } }));
                }
            }
            else
            {
                return(Json(new { resultado = TratarRetornoValidacaoToJSON() }));
            }
        }