(41) 99193-1264
  • Português
  • English
  • Español
  • Cases

    Como tornamos o portal de visitantes do Cisco ISE mais simples e acessível para o Banco ACME

    Todo integrador já enfrentou esse dilema: como adaptar o produto que você vende às reais necessidades do cliente? Muitas vezes, não é sobre seguir o manual à risca, mas sim entender o contexto, ouvir quem está do outro lado e propor soluções viáveis — sem julgamentos, sem “isso não dá pra fazer”.

    Pra proteger a identidade do meu cliente, vou chamá-lo de Banco ACME. Ele é um dos nossos maiores e mais importantes parceiros de negócio. Um banco que sempre investe em tecnologia de ponta e conta com a expertise da Teletex pra garantir a melhor experiência digital possível — tanto para seus colaboradores quanto para seus clientes.

    O desafio: tecnologia simples para quem mais precisa

    Hoje em dia, a maioria das interações bancárias acontece pelo app. E quem ainda vai às agências físicas, na maior parte das vezes, são pessoas com menos familiaridade com tecnologia. Nossos queridos e amáveis vovôs e vovós.

    Isso muda o jogo: precisamos pensar numa tecnologia mais acessível, mais intuitiva e menos burocrática. Foi aí que o Banco ACME nos procurou com um pedido muito claro:

    Criar um portal de visitantes Wi-Fi com o mínimo de interação possível, mas que ainda coletasse informações básicas de quem está se conectando.

    Cisco ISE: a nossa ferramenta de confiança

    Quando falamos em controle de acesso, identidade e portal de visitantes, a nossa “menina dos olhos” é o Cisco Identity Services Engine (ISE). O ISE oferece três opções principais de portal para visitantes:

    • Hotspot – acesso rápido com aceite de termos, sem coleta de dados.
    • Autoregistro – o visitante preenche um formulário com suas informações e recebe acesso (pode ser patrocinado ou não).
    • Portal patrocinado – o visitante não realiza o registro diretamente. Nesse modo, o patrocinador (geralmente um colaborador autorizado da empresa) é quem preenche os dados do visitante e solicita o acesso. O visitante só consegue se conectar à rede após essa aprovação.

    Após apresentarmos essas opções, o cliente optou pelo portal de autoregistro não patrocinado, por equilibrar simplicidade e controle.


    Requisitos do cliente

    O Banco ACME pediu um portal com as seguintes características:

    A página inicial já deve mostrar diretamente o formulário de autoregistro com:

    • CPF
    • Nome
    • Telefone
    • Aceite dos termos de uso

    Além disso:

    • O acesso deve ter validade de 1 dia
    • Após 24h, se o visitante voltar, deve ver novamente o portal e se registrar de novo

    A realidade do portal padrão do ISE

    A gente sabe que o fluxo padrão do ISE pra visitantes pode ser bem burocrático. Leva tempo e exige várias interações até o visitante conseguir acessar a internet. Em alguns casos, até o café da agência já esfriou quando termina…

    Mesmo com simplificações, o ISE sempre começa na página de login, e não na de autoregistro.


    Desafio #1 – Ir direto para a página de autoregistro

    Não encontrei nenhuma documentação oficial que ensinasse a iniciar diretamente no formulário de autoregistro. Busquei ajuda em fóruns especializados em ISE e… fui “recebido” com críticas. Disseram que a ideia “não fazia sentido”, que ia quebrar o portal, perder funcionalidade, etc.

    Mas a Teletex é um integrador empático — isso faz parte do nosso DNA. A gente não tá aqui pra dizer pro cliente o que ele não pode fazer. A gente tá aqui pra ajudar ele a conseguir o que precisa.

    Então, atacamos o primeiro desafio com esse pequeno script:

    <script>
    window.onload = function() {
    var registerLink = document.getElementById('ui_login_self_reg_button');
    if (registerLink) {
    registerLink.click();
    }
    };
    </script>

    Resultado: o visitante abre o portal e já é redirecionado direto pro formulário de registro. Sem rodeios.


    Desafio #2 – Validação de CPF

    Não bastava ter um campo chamado “CPF”. A gente precisava validar se o valor digitado era mesmo um CPF válido.

    Então, no formulário de autoregistro, configuramos os seguintes campos:

    • Username (rotulado como CPF)
    • Nome
    • Sobrenome
    • Telefone
    • Aceite dos termos

    E usamos esse script para aplicar máscara e validação do CPF:

    <script>
    setTimeout(function() {
      $.validator.addMethod("validaCPF", function(value, element) {
        value = value.replace(/\D/g, '');
        if (value.length !== 11 || /^(\d)\1{10}$/.test(value)) return false;
    
        var soma = 0, resto;
    
        for (var i = 1; i <= 9; i++) soma += parseInt(value.substring(i - 1, i)) * (11 - i);
        resto = (soma * 10) % 11;
        if ((resto === 10) || (resto === 11)) resto = 0;
        if (resto !== parseInt(value.substring(9, 10))) return false;
    
        soma = 0;
        for (var i = 1; i <= 10; i++) soma += parseInt(value.substring(i - 1, i)) * (12 - i);
        resto = (soma * 10) % 11;
        if ((resto === 10) || (resto === 11)) resto = 0;
        return resto === parseInt(value.substring(10, 11));
      }, 'O CPF informado não é válido.');
    
      // Aplica a validação ao campo de username
      var cpfField = $("[name='guestUser.fieldValues.ui_user_name']");
      cpfField.rules("add", { validaCPF: true });
    
      // Aplica a máscara no input
      cpfField.on("input", function() {
        if ($(this).val().length > 14) {
          $(this).val($(this).val().substring(0, 14));
        }
        let value = $(this).val().replace(/[^0-9]/g, "").replace(/^(\d{3})(\d{3})?(\d{3})?(\d{2})?/, "$1.$2.$3-$4");
        $(this).val(value);
      });
    }, 50);
    </script>

    Desafio #3 – Esconder usuário e senha do portal de sucesso

    Depois de preencher o formulário, o visitante cai na página de sucesso, que por padrão exibe o usuário e senha gerados automaticamente. Só que, nesse caso, essa informação não faz sentido, porque o usuário já está logado automaticamente.

    A solução? Um CSS simples:

    <style>
        .ui_self_reg_results_username_label,
        .ui_self_reg_results_password_label {
            display: none !important;
            visibility: hidden !important;
            height: 0 !important;
            overflow: hidden !important;
        }
    </style>

    Assim, o visitante vê só o que importa: mensagem de sucesso e botão para começar a navegar.


    Ajustes adicionais

    • Criamos um Guest Type com validade de 1 dia
    • O ISE foi configurado para remover automaticamente contas de visitantes expiradas diariamente
    • Implementamos uma regra que chamo carinhosamente de “sleeping client”: se o MAC address do visitante ainda estiver em guestendpoints, ele tem acesso direto, sem precisar passar novamente pelo portal
    • O ISE também purga os MACs diariamente

    E o resultado final?

    Após o envio do formulário de autoregistro, o visitante é autenticado com sucesso no Cisco ISE, utilizando o CPF como nome de usuário. O ISE reconhece esse usuário e aplica automaticamente a política de autorização configurada.

    Na sequência, o dispositivo já está conectado à infraestrutura Wi-Fi corporativa, com acesso à internet liberado conforme as regras definidas para visitantes.

     

     

    Simples, rápido e funcional — do jeitinho que o cliente pediu.

    Conclusão

    Se você é nosso cliente, não hesite em nos acionar. Adoramos um desafio. E se ainda não é cliente, talvez esteja perdendo a chance de trabalhar com uma equipe que, mais do que integrar tecnologia, entende de gente.

    Nosso trabalho é fazer a tecnologia se adaptar a você — e não o contrário.