UniFi - Portal personalizado com nomes individuais de usuários e senhas

Visão geral de  


Os leitores aprenderão como personalizar o portal UniFi para que cada convidado iniciar sessão utilizando um único nome de usuário e senha, verificado contra um banco de dados (por exemplo, MySQL)

Ter sido um monte de perguntas e pedidos de portais personalizados, onde cada usuário pode ter seu próprio exclusivo username e senha, quer seja jogar imediatamente a produção ou como um modelo para modificar e ajustar para atender às necessidades específicas da administração.

Em anexo está um muito rudimentar portal personalizado.  Ele é escrito em HTML e PHP e foi configurado em um servidor Ubuntu 12.04 x64.  Você precisará, obviamente, seu servidor de web approriate (Apache2), PHP5, onda pacotes e pacotes do MySQL server.

O anexo inclui os seguintes arquivos:

  • htaccess - especifica a ordem de qual arquivo de index.* usar
  • auth.php - este é onde está a carne da funcionalidade.  Ele limpa qualquer entrada e chama um par de funções que estão na config.php.inc
  • config.php.Inc - é onde estão as credenciais e funções são armazenadas.  A função auth_user é o cheque no banco de dados MySQL para a existência de usuário, senha de validação e, opcionalmente, validação de e-mail.  A função sendAuthorization notifica UniFi para autorizar o usuário IF o usuário passou a função auth_user.
  • index. php - formulário de HTML o que solicita o nome de usuário, senha e e-mail.
  • HotSpot.SQL - estrutura do MySQL para simples ID de usuário, senha e e-mail colunas.  Note-se que a forma, a estrutura e o código é escrito, as senhas são armazenadas no banco de dados como texto sem formatação.  Você pode modificar para picar as senhas por razões de segurança, se você preferir

Há também comentários em todo o lugar para auxiliar alguém em descobrir o que o código está fazendo onde.  Isto é obviamente muito despojado um front-end:

As peças principais são o auth_user e o sendAuthorization funções que são encontradas em config.php.inc, você podem construir o que precisar para fora daqueles.

Se colocar isso no Ubuntu ou Debian (supondo que os caminhos padrão):

  1. Instalar os pré-requisitos (servidor MySQL, Apache2, PHP5, onda, php5-curl, etc.) 
  2. mkdir -p /var/www/guest/s/default /
  3. CD /var/www/guest/s/default
  4. Baixe o arquivo anexado para este local
  5. Extraia o arquivo. tar com 'tar - xvf MySQL\ Custom\ Portal Example.tar'
  6. Hotspot.sql de importação
  7. Criar/concessão de privilégios de usuário do banco de dados do hotspot
  8. Modificar o config.php.inc com as credenciais apropriadas

O processo de instalação a maioria exigida pacotes é descrito neste site .

É importante notar que você não pode incluir pastas em sua opção de Portal externo, apenas um endereço IP.  Você pode modificar o arquivo de index. html padrão Apache2 para redirecionar para o caminho de valor, ou criar um link simbólico para o arquivo guest/s/default/index.php.

Ontem, instalação UniFi para apontar para o IP do servidor do portal.  Você pode testar a autenticação através da inserção de uma conta falsa no banco de dados MySQL.

Opcional: se você não estiver familiarizado com o MySQL, você pode querer baixar um frontend para, como o phpmyadmin (apt-get instalar phpmyadmin < - para distribuições Debian baseadas).  Isto ajudará enormemente quando adicionar/modificar/excluir usuários.  Como alternativa, você pode criar sua própria página PHP para modificar usuários.

Também é importante notar que você pode expandir sobre isso um pouco.  Por exemplo, você pode adicionar código para o PHP e colunas para MySQL log autenticações, endereço de MAC do usuário, hora da última autenticação, etc.

Disclaimer: Ubiquiti não suportará esse código.  Ele é fornecido apenas como um exemplo de um portal externo rudimentar, funcionamento.

Powered by Zendesk