Пример #1
0
        public object BuscarPorLogin(Login usuarioLogin)
        {
            bool credencialValida = false;

            if (usuarioLogin != null && !string.IsNullOrEmpty(usuarioLogin.login))
            {
                baseUsuario = _repository.BuscarPorLogin(usuarioLogin.login);

                credencialValida = ((baseUsuario != null) && (usuarioLogin.login == baseUsuario.login) && (BCrypt.Net.BCrypt.Verify(usuarioLogin.senha, baseUsuario.senha)));
            }

            if (credencialValida == true)
            {
                //Criação do TOKEN
                ClaimsIdentity claimsIdentity = new ClaimsIdentity(
                    new GenericIdentity(usuarioLogin.login, "login"),
                    new[]
                {
                    new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString("N")),
                    new Claim(JwtRegisteredClaimNames.UniqueName, usuarioLogin.login),
                }
                    );

                //Horario em que está iniciando a nova sessão
                DateTime dataCriacao = DateTime.Now;
                //Horario em que irá se expirar a sessao
                DateTime dataExpiracao = dataCriacao + TimeSpan.FromSeconds(_tokenConfiguration.Seconds);

                //Salvando log de acesso ao sistema.
                LogUsuarioVO logUsuarioVO = new LogUsuarioVO();

                logUsuarioVO.codUsuario    = baseUsuario.codigo;
                logUsuarioVO.horarioLogin  = dataCriacao;
                logUsuarioVO.horarioLogout = dataExpiracao;
                logUsuarioVO.atividade     = "Realizando login do sistema.";
                InserirLogDeAcesso(logUsuarioVO);
                //Fim do save log

                var    handler = new JwtSecurityTokenHandler();
                string token   = CriarToken(claimsIdentity, dataCriacao, dataExpiracao, handler);

                return(Sucesso(dataCriacao, dataExpiracao, token));
            }
            else
            {
                return(SemSucesso());
            }
        }
Пример #2
0
        public void InserirLogDeAcesso(LogUsuarioVO logUsuarioVO)
        {
            var logUsuarioEntity = _logUsuarioConverter.Parce(logUsuarioVO);

            _logUsuariorepository.CriarNovo(logUsuarioEntity);
        }