예제 #1
0
        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);
        }
예제 #2
0
        public override void EhValido()
        {
            AssegureQue.NaoEhNulo(SenhaNova, "A nova senha informada não pode ser nula");
            AssegureQue.NaoEhVazio(SenhaNova, "A nova senha informada não pode ser vazia (1)");
            AssegureQue.EhDiferente(SenhaNova, VaziaCriptografada, "A nova senha informada não pode ser vazia (2)");

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

            AssegureQue.EhIgual(SenhaNova, SenhaNovaConfirma, "A confirmação da nova senha não coincide com a nova senha");
        }
예제 #3
0
        public override void EhValido()
        {
            AssegureQue.NaoEhNulo(Nome, "O nome do usuário não pode ser nulo");
            AssegureQue.NaoEhVazio(Nome, "O nome do usuário não pode ser vazio");

            AssegureQue.NaoEhNulo(EMail, "O E-Mail do usuário não pode ser nulo");
            AssegureQue.NaoEhVazio(EMail, "O E-Mail do usuário não pode ser vazio");

            AssegureQue.NaoEhNulo(Celular, "O Celular do usuário não pode ser nulo");
            AssegureQue.NaoEhVazio(Celular, "O Celular do usuário não pode ser vazio");

            var senhaAtual = UltimasSenhas(1).FirstOrDefault();

            AssegureQue.NaoEhNulo(senhaAtual, "A senha atual não pode ser nula!");
            senhaAtual.EhValido();
        }
        public void Autenticar(String eMailOuCelular, String senhaCriptografada)
        {
            AssegureQue.NaoEhNulo(eMailOuCelular, "EMail e / ou celular não informado (1)");
            AssegureQue.NaoEhVazio(eMailOuCelular, "EMail e / ou celular não informado (2)");

            var usuario = new Usuario {
                EMail = eMailOuCelular, Celular = eMailOuCelular
            };
            var usuarios = Usuarios.ObterPor(usuario);

            AssegureQue.NaoEhVazio(usuarios, "Usuário não encontrado com este eMail e / ou celular");
            AssegureQue.EhVerdadeiro(usuarios.Count() == 1, "EMail e / ou celular inválido. Confira as informações e tente novamente");

            usuario = Usuarios.ObterPorIdComSenhas(usuarios.First().Id);
            AssegureQue.EhVerdadeiro(usuario.ConfirmarSenha(senhaCriptografada), "A senha informada não confere!");
        }
        public void TrocarSenha(String eMail, String celular, String senhaAntigaCriptografada, String novaSenhaCriptografada, String confirmaNovaSenhaCriptografada)
        {
            var usuarios = Usuarios.ObterPor(new Usuario {
                EMail = eMail, Celular = celular
            });

            AssegureQue.NaoEhNulo(usuarios, "Não foi encontrado um usuário cadastrado com este eMail e / ou celular");
            AssegureQue.EhVerdadeiro(usuarios.Count() == 1, "EMail e / ou celular inválido. Confira as informações e tente novamente");

            var usuario = usuarios.First();

            usuario.Preencher(Usuarios.BuscarSenhas(usuario.Id));
            var senha = usuario.TrocarSenha(senhaAntigaCriptografada, novaSenhaCriptografada, confirmaNovaSenhaCriptografada);

            Usuarios.Gravar(senha);
        }
예제 #6
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);
        }
예제 #7
0
 public override void EhValido()
 {
     AssegureQue.NaoEhNulo(Usuario, "Usuário não pode ser nulo");
 }