public UsuarioAutenticacaoDto AutenticarUsuario(UsuarioAutenticacaoDto dto)
 {
     return(new UsuarioAutenticacaoDto
     {
         Login = ValidarString.CreateInstance.SetString(dto.Login, "Usuário"),
         SenhaCriptografada = ValidarSenha.CreateInstance.SetSenha(dto.Senha),
         TokenAtual = new Guid(GravacaoArquivosRegras.CreateInstance.RecuperarTokenUsuario(dto.Login)),
         NovoToken = TokenRegras.CreateInstance.GerarNovoToken()
     });
 }
        private void ValidarDadosLogin(UsuarioAutenticacaoDto usuarioAutenticacaoDto)
        {
            if (usuarioAutenticacaoDto == null)
            {
                throw new ArgumentException("Login/Senha não informados.");
            }

            if (string.IsNullOrEmpty(usuarioAutenticacaoDto.Login) || string.IsNullOrEmpty(usuarioAutenticacaoDto.Senha))
            {
                throw new ArgumentException("Login/Senha não informados.");
            }
        }
Beispiel #3
0
        public async Task <IActionResult> LoginAsync([FromBody] UsuarioAutenticacaoDto usuario)
        {
            try
            {
                var usuarioAutenticado = await usuarioService.AutenticarUsuarioAsync(usuario);

                return(Ok(usuarioAutenticado));
            }
            catch (Exception e)
            {
                return(BadRequest(e));
            }
        }
        public async Task <Usuario> AutenticarUsuarioAsync(UsuarioAutenticacaoDto usuarioAutenticacaoDto)
        {
            ValidarDadosLogin(usuarioAutenticacaoDto);
            usuarioAutenticacaoDto.Senha = cryptoUtil.CriptografarSenha(usuarioAutenticacaoDto.Senha);
            var usuarioResult = await BuscarUsuarioPorLoginESenhaAsync(usuarioAutenticacaoDto.Login, usuarioAutenticacaoDto.Senha);

            if (usuarioResult == null)
            {
                throw new InvalidOperationException("Login/Senha inválidos ou não fornecidos.");
            }

            PreencherInformacoesTokenAcesso(usuarioResult);
            return(usuarioResult);
        }
        public Usuario AutenticaUsuario(UsuarioAutenticacaoDto dto)
        {
            var usuarioAutenticado = _contexto.UsuarioDb.Where(usuario =>
                                                               usuario.Login == dto.Login &&
                                                               usuario.Senha == dto.SenhaCriptografada &&
                                                               usuario.Ativo).FirstOrDefault();

            if (usuarioAutenticado == null)
            {
                return(usuarioAutenticado);
            }

            _contexto.Entry(usuarioAutenticado).State = EntityState.Modified;
            return(usuarioAutenticado);
        }
        public async Task <Message <string> > Login(UsuarioAutenticacaoDto usuarioDto)
        {
            var message = new Message <string>();
            var usuario = this.mapper.Map <Usuario>(usuarioDto);

            if (!await this.authenticationManager.ValidateUser(usuario))
            {
                message.Validations.Add("Falha na autenticação: Usuário ou senha incorreta.");
                message.Unauthorized();

                return(message);
            }

            message.Ok(await this.authenticationManager.CreateToken());

            return(message);
        }
Beispiel #7
0
        public HttpResponseMessage Autenticacao(UsuarioAutenticacaoDto usuarioAutenticacao)
        {
            if (usuarioAutenticacao == null)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }

            var usuarioAutenticado = UsuarioRegras.CreateInstance.AutenticarUsuario(usuarioAutenticacao);
            var usuario            = _uow.UsuarioRepositorio.AutenticaUsuario(usuarioAutenticado);

            if (usuario == null)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, "Usuario não existe ou não está ativo!"));
            }


            GerenciarCookieRegras.SetIdUser(usuario.IdUsuario);
            var novaSessao = SessaoRegras.CreateInstance.CriarNovaSessao(usuario.IdUsuario);

            _uow.SessaoRepositorio.Adicionar(novaSessao);
            _uow.Commit();

            return(Request.CreateResponse(HttpStatusCode.OK, usuario));
        }
Beispiel #8
0
        public async Task <IActionResult> Login([FromBody] UsuarioAutenticacaoDto usuarioDto)
        {
            var message = await this.authenticationFacade.Login(usuarioDto);

            return(StatusCode(message.StatusCode, message));
        }