示例#1
0
        private ClienteAcessoChaveAcesso ObterInfoAcesso(string textCripto)
        {
            ClienteAcessoChaveAcesso infoAcesso = new ClienteAcessoChaveAcesso();

            string chaveAcessoDescryptografada = moduloSigimAppService.UnCrypt(textCripto);

            string infoRecup = moduloSigimAppService.GetPiece(chaveAcessoDescryptografada, "|", 1);

            if (!string.IsNullOrEmpty(infoRecup))
            {
                infoAcesso.ClienteFornecedor.Id = Convert.ToInt32(infoRecup);
            }

            infoRecup = moduloSigimAppService.GetPiece(chaveAcessoDescryptografada, "|", 2);
            if (!string.IsNullOrEmpty(infoRecup))
            {
                infoAcesso.ClienteFornecedor.Nome = infoRecup;
            }

            infoRecup = moduloSigimAppService.GetPiece(chaveAcessoDescryptografada, "|", 3);
            if (!string.IsNullOrEmpty(infoRecup))
            {
                infoAcesso.DataExpiracao = Convert.ToDateTime(infoRecup);
            }

            infoAcesso.NumeroUsuario = 0;
            infoRecup = moduloSigimAppService.GetPiece(chaveAcessoDescryptografada, "|", 4);
            if (!string.IsNullOrEmpty(infoRecup))
            {
                infoAcesso.NumeroUsuario = Convert.ToInt32(infoRecup);
            }

            return(infoAcesso);
        }
示例#2
0
        public bool ValidaAcessoGirCliente(string nomeModulo, int usuarioId, InformacaoConfiguracaoDTO informacaoConfiguracao)
        {
            bool validou = true;

            if (!informacaoConfiguracao.LogGirCliente)
            {
                return(validou);
            }
            if (!System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable())
            {
                return(validou);
            }

            ModuloDTO modulo = moduloAppService.ObterPeloNome(nomeModulo.ToUpper());

            UsuarioDTO usuario = usuarioAppService.ObterUsuarioPorId(usuarioId);

            if (string.IsNullOrEmpty(modulo.ChaveAcesso))
            {
                messageQueue.Add(Resource.Sigim.ErrorMessages.ChaveAcessoNaoInformada, TypeMessage.Error);
                return(false);
            }

            ClienteAcessoChaveAcesso infoAcesso = ObterInfoAcesso(modulo.ChaveAcesso);

            int numeroUsuarioSistema = usuarioFuncionalidadeAppService.ObterQuantidadeDeUsuariosNoModulo(modulo.Id.Value);

            clienteAcessoLogWS.clienteAcessoLogWS clienteAcessoLogWS = new clienteAcessoLogWS.clienteAcessoLogWS();
            clienteAcessoLogWS.Timeout = 10000;
            validou = clienteAcessoLogWS.AtualizaAcessoCliente(infoAcesso.ClienteFornecedor.Id.Value,
                                                               infoAcesso.ClienteFornecedor.Nome,
                                                               informacaoConfiguracao.Servidor,
                                                               informacaoConfiguracao.HostName,
                                                               usuario.Login,
                                                               modulo.Nome,
                                                               numeroUsuarioSistema,
                                                               informacaoConfiguracao.NomeDoBancoDeDados,
                                                               modulo.Versao);
            if (!validou)
            {
                messageQueue.Add(Resource.Sigim.ErrorMessages.ErroAcessoLogGirCliente, TypeMessage.Error);
                return(false);
            }

            return(validou);
        }
示例#3
0
        public bool ValidaAcessoAoModulo(string nomeModulo, InformacaoConfiguracaoDTO informacaoConfiguracao)
        {
            ModuloDTO modulo = moduloAppService.ObterPeloNome(nomeModulo.ToUpper());

            if (!moduloSigimAppService.ValidaVersaoSigim(modulo.Versao))
            {
                messageQueue.Add(Resource.Sigim.ErrorMessages.VersaoInvalida, TypeMessage.Error);
                return(false);
            }

            if (string.IsNullOrEmpty(modulo.ChaveAcesso))
            {
                messageQueue.Add(Resource.Sigim.ErrorMessages.ChaveAcessoNaoInformada, TypeMessage.Error);
                return(false);
            }

            ClienteAcessoChaveAcesso infoChaveAcesso = ObterInfoAcesso(modulo.ChaveAcesso);

            if (!infoChaveAcesso.DataExpiracao.HasValue)
            {
                messageQueue.Add(Resource.Sigim.ErrorMessages.DataExpiracaoNaoInformada, TypeMessage.Error);
                return(false);
            }

            if ((infoChaveAcesso.DataExpiracao.HasValue) && (infoChaveAcesso.DataExpiracao.Value.Date < DateTime.Now.Date))
            {
                messageQueue.Add(Resource.Sigim.ErrorMessages.DataExpirada, TypeMessage.Error);
                return(false);
            }

            //infoAcesso.ClienteFornecedor.Id = 4215; //cliente com bloqueio de modulo para testar
            if (EhSistemaBloqueado(nomeModulo, infoChaveAcesso.ClienteFornecedor.Id.Value, informacaoConfiguracao.LogGirCliente))
            {
                TratarBloqueioNoSistemaSigim(infoChaveAcesso.ClienteFornecedor.Id.Value, informacaoConfiguracao.LogGirCliente);
                messageQueue.Add(Resource.Sigim.ErrorMessages.SistemaBloqueado, TypeMessage.Error);
                return(false);
            }

            return(true);
        }