示例#1
0
        public async Task <ActionResult <icustom.api.Models.LoginModel> > Autenticar([FromBody] icustom.api.Models.LoginModel model)
        {
            try
            {
                if (model.Valido())
                {
                    string login = model.email;
                    string senha = model.senha;

                    var token = _usuarioServico.Autenticar(login, senha);

                    return(Ok(
                               new LoginModel()
                    {
                        email = login,
                        token = token
                    }));
                }
                else
                {
                    throw new ExceptionBusiness("Dados para autenticação não foram informados.");
                }
            }
            catch (System.Exception ex)
            {
                return(this.TratarErro(ex));
            }
        }
示例#2
0
        public void Nao_Deve_Autenticar_Usuario_Com_Parametros_Invalidos()
        {
            _usuarioServico = Substitute.For <UsuarioServico>(_usuarioRepositorio);

            var saida = _usuarioServico.Autenticar(new AutenticarUsuarioEntrada(string.Empty, string.Empty)).Result;

            Assert.IsTrue(!saida.Sucesso && saida.Mensagens.Any(x => x == UsuarioMensagem.Senha_Obrigatoria_Nao_Informada), string.Join(", ", saida.Mensagens));
        }
示例#3
0
        public IActionResult Autenticar([FromBody] Usuario parametrosUsuario)
        {
            var usuario = _UsuarioServico.Autenticar(parametrosUsuario.UsuarioNome, parametrosUsuario.Senha);

            if (usuario == null)
            {
                return(Unauthorized(new { message = "Credenciais inválidas." }));
            }

            return(Ok(usuario));
        }
示例#4
0
        public void Deve_Autenticar_Usuario()
        {
            _usuarioRepositorio
            .ObterPorEmailSenha("*****@*****.**", "60602435AE5A49EB3F2800C2A46AF810")
            .Returns(new Usuario("Jorge Luiz Nogueira", "*****@*****.**", true));

            _usuarioServico = Substitute.For <UsuarioServico>(_usuarioRepositorio);

            var saida = _usuarioServico.Autenticar(new AutenticarUsuarioEntrada("*****@*****.**", "surfista")).Result;

            Assert.IsTrue(saida.Sucesso && saida.Mensagens.Any(x => x == UsuarioMensagem.Usuario_Autenticado_Com_Sucesso), string.Join(", ", saida.Mensagens));
        }
示例#5
0
        public void Nao_Deve_Autenticar_Usuario_Com_Email_Nao_Cadastrado()
        {
            _usuarioRepositorio
            .ObterPorEmailSenha("*****@*****.**", "60602435AE5A49EB3F2800C2A46AF810")
            .Returns((Usuario)null);

            _usuarioServico = Substitute.For <UsuarioServico>(_usuarioRepositorio);

            var saida = _usuarioServico.Autenticar(new AutenticarUsuarioEntrada("*****@*****.**", "surfista")).Result;

            Assert.IsTrue(!saida.Sucesso && saida.Mensagens.Any(x => x == UsuarioMensagem.Usuario_Nao_Encontrado_Por_Login_Senha), string.Join(", ", saida.Mensagens));
        }
        public ActionResult Post([FromBody] LoginModel model)
        {
            string accessToken = String.Empty;
            var    erros       = _servico.Autenticar(model.Email, model.Senha, out accessToken);

            if (erros.Count > 0)
            {
                return(BadRequest(erros));
            }

            return(Ok(new { accessToken }));
        }
        public void Autenticar_UsuarioValido_ComSucesso()
        {
            _usuarioServico.Adicionar(new Usuario()
            {
                Login = "******",
                Nome  = "login autenticação",
                Senha = "123"
            });

            var token = _usuarioServico.Autenticar("*****@*****.**", "123");

            Assert.IsTrue(!string.IsNullOrEmpty(token));
        }
示例#8
0
        public ActionResult Login(LoginVM model)
        {
            if (!ModelState.IsValid)
            {
                return(View("Login"));
            }

            var dto = LoginVM.Converter(model);

            _usuarioServico.Autenticar(dto);

            var returnUrl = _tempDataServico.Buscar <string>(ReturnUrl);

            return(Redirect(string.IsNullOrEmpty(returnUrl) ? _configurationReader.GetAppSetting(ReturnUrl) : returnUrl));
        }
        public IActionResult Login(LoginViewModel login)
        {
            try
            {
                string tokenUsuario = _usuarioServico.Autenticar(login);

                if (string.IsNullOrEmpty(tokenUsuario))
                {
                    return(NotFound(new { mensagem = "Email ou Senha Inválidos." }));
                }

                return(Ok(new { token = tokenUsuario }));
            }
            catch (Exception ex)
            {
                return(BadRequest(new { mensagem = "Erro ao cadastrar." + ex.Message }));
            }
        }
示例#10
0
        public async Task <IActionResult> Autenticar(
            [FromBody, SwaggerParameter("E-mail e senha do usuário.", Required = true)] AutenticarUsuarioViewModel model,
            [FromServices] ConfigurationHelper configHelper /*FromServices: resolvidos via mecanismo de injeção de dependências do ASP.NET Core*/)
        {
            var autenticarComando = new AutenticarUsuarioEntrada(model.Email, model.Senha);

            var comandoSaida = await _usuarioServico.Autenticar(autenticarComando);

            if (!comandoSaida.Sucesso)
            {
                return(new ApiResult(comandoSaida));
            }

            var usuario = (UsuarioSaida)comandoSaida.Retorno;

            var dataCriacaoToken   = DateTime.Now;
            var dataExpiracaoToken = dataCriacaoToken + TimeSpan.FromHours(configHelper.JwtTokenConfig.ExpiracaoEmHoras);

            return(CriarResponseTokenJwt(usuario, dataCriacaoToken, dataExpiracaoToken, configHelper));
        }
示例#11
0
        public async Task <ISaida> Autenticar(
            [SwaggerParameter("E-mail do usuário.", Required = true)] string email,
            [SwaggerParameter("Senha do usuário.", Required = true)] string senha,
            [FromServices] JwtTokenConfig tokenConfig /*FromServices: resolvidos via mecanismo de injeção de dependências do ASP.NET Core*/)
        {
            var autenticarComando = new AutenticarUsuarioEntrada(email, senha);

            var comandoSaida = await _usuarioServico.Autenticar(autenticarComando);

            if (!comandoSaida.Sucesso)
            {
                return(comandoSaida);
            }

            var usuario = (UsuarioSaida)comandoSaida.Retorno;

            var dataCriacaoToken   = DateTime.Now;
            var dataExpiracaoToken = dataCriacaoToken + TimeSpan.FromSeconds(tokenConfig.ExpiracaoEmSegundos);

            return(CriarResponseTokenJwt(usuario, dataCriacaoToken, dataExpiracaoToken, tokenConfig));
        }
示例#12
0
        public ActionResult Index(LoginViewModel loginViewModel)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var usuarioLogado = _usuarioServico.Autenticar(loginViewModel.Cpf, loginViewModel.Senha);

                    if (usuarioLogado != null)
                    {
                        Session[BaseController.UsuarioLogado] = Mapper.Map <Usuario, UsuarioLogadoViewModel>(usuarioLogado);
                        return(RedirectToAction("Index", "Home"));
                    }
                }
                TempData["MensagensErro"] = "Senha ou Usuário inválido";
                return(View());
            }
            catch (Exception ex)
            {
                TempData["MensagensErro"] = ex.Message;
                return(View());
            }
        }