示例#1
0
        public ActionResult <ObjetoRetorno> AlterarSenha(int usuario, [FromBody] Senhas senhas)
        {
            bool   sucesso;
            string mensagem = string.Empty;

            if (senhas.SenhaAntiga.Equals(senhas.SenhaNova))
            {
                sucesso  = false;
                mensagem = "A senha atual deve ser diferente da antiga.";
            }
            else if (identityRepositorio.VerificarSenhaAtual(senhas.SenhaAntiga))
            {
                identityRepositorio.SalvarSenhaNova(senhas.SenhaNova);
                sucesso  = true;
                mensagem = "A senha foi alterada.";
            }
            else
            {
                sucesso  = false;
                mensagem = "Dados inconsistentes.";
            }

            return(new ObjetoRetorno()
            {
                Sucesso = sucesso, Mensagem = mensagem
            });
        }
示例#2
0
 public void Preencher(IEnumerable <Senha> senhas)
 {
     foreach (var senha in senhas.OrderBy(s => s.Inclusao))
     {
         Senhas.Adicionar(senha);
     }
 }
        public Senha TrocarSenha(String senhaAntigaCriptografada, String novaSenhaCriptografada, String confirmaNovaSenhaCriptografada)
        {
            AssegureQue.NaoEhNulo(senhaAntigaCriptografada, "A senha atual informada não pode ser nula");
            AssegureQue.NaoEhVazio(senhaAntigaCriptografada, "A senha atual informada não pode ser vazia");

            AssegureQue.NaoEhNulo(novaSenhaCriptografada, "A nova senha informada não pode ser nula");
            AssegureQue.NaoEhVazio(novaSenhaCriptografada, "A nova senha informada não pode ser vazia (1)");
            AssegureQue.EhDiferente(novaSenhaCriptografada, _senhaVaziaCriptografada, "A nova senha informada não pode ser vazia (2)");

            AssegureQue.NaoEhNulo(confirmaNovaSenhaCriptografada, "A confirmação da nova senha informada não pode ser nula");
            AssegureQue.NaoEhVazio(confirmaNovaSenhaCriptografada, "A confirmação da nova senha informada não pode ser vazia (1)");
            AssegureQue.EhDiferente(confirmaNovaSenhaCriptografada, _senhaVaziaCriptografada, "A confirmação da nova senha informada não pode ser vazia (2)");

            AssegureQue.EhIgual(novaSenhaCriptografada, confirmaNovaSenhaCriptografada, "A confirmação da nova senha não coincide com a nova senha");
            AssegureQue.EhIgual(senhaAntigaCriptografada.Criptografar(), SenhaAtual, "A senha informada não é a senha atual");

            AssegureQue.EhDiferente(senhaAntigaCriptografada, novaSenhaCriptografada, "A nova senha informada não pode ser a mesma senha atual");
            AssegureQue.EhDiferente(senhaAntigaCriptografada, SenhaAtual, "A nova senha informada não pode ser a mesma senha atual");

            var senhaCriptografada   = novaSenhaCriptografada.Criptografar();
            var usouSenhasAnteriores = UltimasSenhas(5).Any(s => s.SenhaCriptografada == senhaCriptografada);

            AssegureQue.EhFalso(usouSenhasAnteriores, "Não é possível trocar a senha por senhas usadas nas últimas 5 trocas de senha");

            var senha = new Senha {
                SenhaCriptografada = senhaCriptografada
            };

            Senhas.Adicionar(senha);

            AssegureQue.EhDiferente(senhaAntigaCriptografada.Criptografar(), SenhaAtual, "A senha antiga continua sendo a senha atual");
            AssegureQue.EhIgual(senhaCriptografada, SenhaAtual, "A nova senha informada não pode ser trocada");

            return(senha);
        }
示例#4
0
 public FormAtendimento()
 {
     InitializeComponent();
     numGuiche    = 0;
     listaSenhas  = new Senhas();
     listaGuiches = new Guiches();
     guiche       = new Guiche();
 }
示例#5
0
        public ActionResult <string> AlterarSenha(int usuario, [FromBody] Senhas senhas)
        {
            /*Implementar FromBody*/
            var requisicaoWeb = WebRequest.CreateHttp(string.Format("https://localhost:44341/api/identity/{0}", usuario));

            requisicaoWeb.Method    = "PUT";
            requisicaoWeb.UserAgent = "APIGatewayIdentity";


            using (var resposta = requisicaoWeb.GetResponse())
            {
                var          streamDados = resposta.GetResponseStream();
                StreamReader reader      = new StreamReader(streamDados);
                object       objResponse = reader.ReadToEnd();
                return(objResponse.ToString());
            }
        }
        public IHttpActionResult PutUserSenha([FromBody] Senhas senhas)
        {
            Indentificacao credenciais = autenticar.autenticacao(Request, 6);

            if (credenciais == null)
            {
                return(Content(HttpStatusCode.Unauthorized, "Credenciais Invalidas ou Ausentes!"));
            }

            int user = Convert.ToInt32(credenciais.Usu_codigo);

            string senhaAtualBanco = LoginCredenciaisDB.SelectPorUser(user).Tables[0].Rows[0]["usu_senha"].ToString();

            if (senhaAtualBanco.Equals(senhas.senhaAtual))
            {
                if (senhaAtualBanco.Equals(senhas.senhaNova))
                {
                    return(BadRequest());
                }
                else
                {
                    int retorno = UsusariosDB.UpdateRedefinirSenha(user, senhas.senhaNova);

                    if (retorno == -2)
                    {
                        return(BadRequest());
                    }
                    else
                    {
                        return(Ok());
                    }
                }
            }
            else
            {
                return(BadRequest());
            }
        }
示例#7
0
        public Senha TrocarSenha(String senhaAntiga, String senhaNova, String senhaNovaConfirma)
        {
            AssegureQue.NaoEhNulo(senhaAntiga, "A senha atual informada não pode ser nula");
            AssegureQue.NaoEhVazio(senhaAntiga, "A senha atual informada não pode ser vazia");
            AssegureQue.EhIgual(senhaAntiga.Criptografar(), SenhaAtual, "A senha informada não é a senha atual");
            AssegureQue.EhDiferente(senhaAntiga, senhaNova, "A nova senha informada não pode ser a mesma senha atual");
            AssegureQue.EhDiferente(senhaNova.Criptografar(), SenhaAtual, "A nova senha informada não pode ser a mesma senha atual");

            var senha = new Senha(senhaNova, senhaNovaConfirma);

            senha.EhValido();

            var usouSenhasAnteriores = UltimasSenhas(5).Any(s => s.SenhaCriptografada == senha.SenhaCriptografada);

            AssegureQue.EhFalso(usouSenhasAnteriores, "Não é possível trocar a senha por senhas usadas nas últimas 5 trocas de senha");

            Senhas.Adicionar(senha);

            AssegureQue.EhDiferente(SenhaAtual, senhaAntiga.Criptografar(), "A senha antiga continua sendo a senha atual");
            AssegureQue.EhIgual(SenhaAtual, senha.SenhaCriptografada, "A nova senha informada não pode ser trocada");

            return(senha);
        }
示例#8
0
 private IEnumerable <Senha> UltimasSenhas(Int32 quantidade)
 {
     return(Senhas.OrderByDescending(s => s.Inclusao).Take(quantidade));
 }
示例#9
0
 public Atendimento()
 {
     InitializeComponent();
     guiches = new Guiches();
     senhas = new Senhas();
 }