Modelo de código-fonte para portal web externo (modo independente)
Este documento descreve os requisitos para configurar um servidor de portal web externo. No modo independente, o Portal Web Externo só pode ser usado quando o tipo de autenticação do portal for Servidor Radius Externo. Se você estiver usando a função Portal Web Externo no modo Controlador Omada, consulte a FAQ916.
A imagem abaixo ilustra o fluxo de trabalho entre o cliente sem fio, o Omada EAP, o Portal Web Externo e o Servidor Radius. Ela ajudará você a compreender melhor os requisitos para configurar um servidor de Portal Web Externo.

- O cliente sem fio está conectado ao SSID da rede sem fio e tenta acessar a internet. O dispositivo EAP redireciona a solicitação do cliente para o portal web externo, respondendo com uma resposta HTTP com o código de status 200 Found. (Etapa 1 e Etapa 2)
- O cliente envia uma solicitação HTTP GET para o portal web externo com o parâmetro “target=target_ap_ip&clientMac=client_mac”. Por exemplo, 192.168.10.104/?target=192.168.10.102&clientMac=38:71:de:31:7d:67 (Etapa 3)
- O servidor do portal web externo deve ser capaz de obter o valor dos parâmetros `target` e `clientMac`. Em seguida, o servidor do portal web externo deve retornar uma página com um formulário. Este formulário coletará as informações de nome de usuário, senha e `clientMac`.
Por exemplo:
<form id="form" method="post">
<div><span>Nome de usuário:</span><input type="text" name="username"/> </div>
<div><span>senha:</span><input type="password" name="password"/> </div>
<div style="display:none"><span>clientMac:</span><input type="text" id="cid" name="clientMac" /></div>
Observe que o "id" desses elementos em seu formulário deve ser o mesmo deste exemplo. O método para obter o valor de "username" e "password" pode ser definido por você, mas o valor de "cid" deve ser obtido da URL da solicitação HTTP.
(Etapa 4)
- O formulário deve ser enviado via POST para http://target_ap_ip/portal/auth após o envio. (Etapa 5)
- O EAP comunica-se com o servidor RADIUS para verificar o nome de usuário e a senha. (Etapa 6 e Etapa 7)
- Se a autenticação for bem-sucedida, ou seja, se o Access-Accept for recebido do servidor RADIUS, o EAP retornará uma página de sucesso integrada ou uma página da web predefinida de acordo com a configuração. (Etapa 8)
O modelo HTML abaixo é uma demonstração simples para você desenvolver seu Portal Web Externo compatível com EAP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<form id="form" method="post">
<div><span>Nome de usuário:</span><input type="text" name="username"/> </div>
<div><span>senha:</span><input type="password" name="password"/></div>
<div style="display:none"><span>clientMac:</span><input type="text" id="cid" name="clientMac" /></div>
<button type="submit">enviar</button>
</formulário>
<script type="text/javascript">
var submitUrl = "http://" + getQueryString("target") + "/portal/auth";
document.getElementById("form").action = submitUrl;
document.getElementById("cid").value = getQueryString("clientMac");
função obterStringConsulta(nome) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
se (r != null) retorne unscape(r[2]); retorne null;
}
</script>
Nota: Ao usar o Servidor Radius Externo no modo independente, adicione o portal web externo à Política de Autenticação Gratuita.