コード例 #1
0
        /// <summary>
        /// Verifica se será necessário autenticar no webservice do cliente ou se utilizará senha salva no autenticador
        /// </summary>
        /// <param name="usu"> Objeto Usuário carregado do autenticador</param>
        /// <returns>Enum indicando onde será feita a validação: 1 [Webservice], 2 [Histórico de senhas] e 3 [Não encontrado a integração]</returns>
        public static eValidacaoWebService VerificaSenhaUsuarioWebService(SYS_Usuario usu)
        {
            eValidacaoWebService        status    = eValidacaoWebService.ValidarNoWebService;
            SYS_IntegracaoExternaTipoBO ietBO     = new SYS_IntegracaoExternaTipoBO();
            SYS_IntegracaoExternaTipo   ietEntity = new SYS_IntegracaoExternaTipo {
                iet_id = usu.usu_integracaoExterna
            };

            if (ietBO.getById(ietEntity))
            {
                Guid      usu_id  = usu.usu_id;
                DataTable dtSenha = SYS_UsuarioSenhaHistoricoBO.SelecionaUltimaSenha(usu_id, null);

                if (dtSenha.Rows.Count > 0)
                {
                    DateTime ush_data = Convert.ToDateTime(dtSenha.Rows[0]["max_data"].ToString());
                    TimeSpan a        = DateTime.Now.Subtract(ush_data);

                    if (a.Days > ietEntity.iet_qtdeDiasAutenticacao)
                    {
                        status = eValidacaoWebService.ValidarNoWebService;
                    }
                    else
                    {
                        status = eValidacaoWebService.ValidarComSenhaDoHistorico;
                    }
                }
            }
            else
            {
                status = eValidacaoWebService.IntegrcacaoNaoEncontrada;
            }

            return(status);
        }
コード例 #2
0
        /// <summary>
        /// Salvar a senha do usuário no hitórico
        /// </summary>
        /// <param name="usu">Objeto Usuário carregado do autenticador</param>
        /// <param name="retornoWebService">Retorno do Webservice do cliente (por enquanto configurado o de Integração Externa : 0 [sucesso] e -1 [não encontrado / usuário ou senha não estão corretos])</param>
        /// <returns>Enum LoginStatus: 0 [Sucesso] ou  5[Erro]</returns>
        public static LoginStatus SalvarSenhaUsuario(SYS_Usuario usu, string retornoWebService)
        {
            SYS_UsuarioSenhaHistoricoDAO dao = new SYS_UsuarioSenhaHistoricoDAO();
            LoginStatus status = LoginStatus.Sucesso;

            try
            {
                if (retornoWebService.Equals("0"))
                {
                    string senhaDescriptografada = usu.usu_senha;
                    dao._Banco.Open(IsolationLevel.ReadCommitted);


                    eCriptografa criptografia = (eCriptografa)Enum.Parse(typeof(eCriptografa), Convert.ToString(usu.usu_criptografia), true);

                    if (!Enum.IsDefined(typeof(eCriptografa), criptografia))
                    {
                        criptografia = eCriptografa.TripleDES;
                    }

                    usu.usu_senha = UtilBO.CriptografarSenha(usu.usu_senha, criptografia);

                    if (SYS_UsuarioSenhaHistoricoBO.Salvar(usu, dao._Banco))
                    {
                        status = LoginStatus.Sucesso;
                    }
                }
                else if (retornoWebService.Equals("-1"))
                {// CASO NÃO ENCONTRE O USUARIO OU A SENHA NÃO ESTEJA EM CONFORME
                    status = LoginStatus.NaoEncontrado;
                }
                else
                {// OUTRO ERRO
                    status = LoginStatus.Erro;
                }
            }
            catch (Exception e)
            {
                status = LoginStatus.Erro;
                dao._Banco.Close(e);
                // msg("Houve um erro na autenticação (SOAP).")
            }
            finally
            {
                dao._Banco.Close();
            }
            return(status);
        }
コード例 #3
0
        /// <summary>
        /// Valida senha do usuário no histórico
        /// </summary>
        /// <param name="usu">Objeto Usuário carregado do autenticador</param>
        /// <returns>Enum LoginStatus : Sucesso, Expirado, Bloqueado e SenhaInvalida</returns>
        public static LoginStatus ValidarUsuarioHistoricoSenha(SYS_Usuario usu)
        {
            LoginStatus status  = LoginStatus.Sucesso;
            DataTable   dtSenha = SYS_UsuarioSenhaHistoricoBO.SelecionaUltimaSenha(usu.usu_id, null);

            if (dtSenha.Rows.Count > 0)
            {
                string senhaSalva = dtSenha.Rows[0]["ush_senha"].ToString();
                string senha      = usu.usu_senha;

                eCriptografa criptografia = (eCriptografa)Enum.Parse(typeof(eCriptografa), Convert.ToString(usu.usu_criptografia), true);

                if (!Enum.IsDefined(typeof(eCriptografa), criptografia))
                {
                    criptografia = eCriptografa.TripleDES;
                }

                usu.usu_senha = UtilBO.CriptografarSenha(usu.usu_senha, criptografia);

                if (!senhaSalva.Equals(usu.usu_senha))
                {
                    status = LoginStatus.SenhaInvalida;
                }
                else if ((usu.usu_situacao == 2) || (usu.usu_situacao == 3))
                {
                    status = LoginStatus.Bloqueado;
                }
                else if (usu.usu_situacao == 5)
                {
                    status = LoginStatus.Expirado;
                }
                else
                {
                    status = LoginStatus.Sucesso;
                }
            }

            return(status);
        }