UniFi — Портал, настроенный в соответствии с требованиями и индивидуальными именами пользователей и паролями

Описано, как настроить портал UniFi в соответствии со своими, специальными требованиями, чтобы для каждого вошедшего на портал гостя использовалось уникальное имя пользователя и пароль, проверяемые по базе данных (например, MySQL).

К нам поступает множество вопросов по порталам, настроенным в соответствии с специальными требованиями, при которых каждый пользователь может иметь уникальное имя пользователя и пароль, которые могут либо обрабатываться немедленно, либо использоваться, как шаблон, изменяемый и регулируемый в соответствии с нуждами администратора.

В конце статьи имеется ссылка на пример такого специализированного портала (но с сильно урезанными возможностями).  Он написан на HTML и PHP и был сконфигурирован на сервере под Ubuntu 12.04 x64.  Вам понадобится соответствующий web-сервер (Apache2), PHP5, пакеты curl и MySQL.
В примере по ссылке в конце статьи содержатся следующие файлы:

  • .htaccess — определяет порядок, в котором используется файл index.*
  • auth.php — Основной текст, определяющий функционал портала.  Он разбирает введенные данные и вызывает пару функций, находящихся в config.php.inc
  • config.php.inc — в этом файле хранятся идентификационные данные и функции.  Функция auth_user проверяет, существует ли пользователь в базе данных MySQL, проверяет пароль, и если требуется, адрес email (опция).  Функция sendAuthorization поручает UniFi авторизовать пользователя, ЕСЛИ пользователь прошел через функцию auth_user.
  • index.php — форма HTML для ввода имени пользователя, пароля и адреса email.
  • hotspot.sql — Структура MySQL с простыми столбцами для ID, имени пользователя, пароля и email.  Имейте в виду, что из-за особенностей написания кода структуры, пароли сохраняются в базе данных в виде простого текста.  Вы можете модифицировать пароли (вставить перед ними знак решетки (хэш) из соображений безопасности), если это требуется.

Вставлены также комментарии, поясняющие действия, выполняемые кодом.  Очевидно, что интерфейс портала очень урезан:

2.53-1

 

Welcome to the Your Company Name Here hotspot login <Наименование Вашей компании> ! Добро пожаловать на регистрацию в портале беспроводной сети!
Username Имя пользователя
Password Пароль
E-mail Адрес электронной почты
Log In Регистрация

Основные его компоненты — это функции auth_user и the sendAuthorization , которые находятся в файле config.php.inc  Вы можете построить то, что Вам требуется, отключая ненужное.

При реализации под Ubuntu или Debian (допуская стандартные пути к папкам):

  1. Установите требуемые пакеты программ (MySQL Server, Apache2, PHP5, curl, php5-curl, и т.д.).
    mkdir -p /var/www/guest/s/default/
    cd /var/www/guest/s/default
  2. Загрузите файл доступный по ссылке в конце статьи в этот каталог.
  3. Разархивируйте файл .tar, используя команду `tar -xvf MySQL\ Custom\ Portal Example.tar`
  4. Импортируйте hotspot.sql
  5. Создайте или назначьте права пользователя на доступ к базе данных беспроводной сети.
  6. Измените файл config.php.inc в соответствии идентификационными данными пользователей

Процесс установки большинства требуемых пакетов в общих чертах описан на этом сайте.

Важно отметить, что Вы не сможете включить папки в Вашу опцию External Portal (Внешний портал), только IP-адрес.  Вы можете либо изменить файл index.html Apache2, выбранный по умолчанию, чтобы ввести соответствующий путь переадресации, либо создать псевдоним для файла guest/s/default/index.php

И наконец, установим UniFi таким образом, чтобы она была привязана к IP-адресу сервера портала.  Вы можете протестировать аутентификацию, если создадите фиктивную учетную запись в базе данных MySQL.

Альтернативный вариант: Если Вы незнакомы с MySQL, Вы можете воспользоваться оболочкой для него, например, phpmyadmin (apt-get install phpmyadmin

Кроме того, Вы можете значительно расширить и дополнить этот пример.  Например, можно добавить код в PHP и столбцы в MySQL, чтобы помещать в журнал информацию аутентификаций, МАС-адрес пользователя, время последней аутентификации и т.д.

Ограничение ответственности: Ubiquiti не будет осуществлять поддержку этого кода.  Он приведен просто, как пример функционирующего внешнего портала с сильно урезанными возможностями.

MySQL Custom Portal Example.tar (10 KB)

 

Все авторские права и другие права интеллектуальной собственности на данные материалы являются собственностью Компании «Рутстор» (ROOTSTORE). При использовании данного материала ссылка на сайт rootstore.ru обязательна.

Авторизация
*
*
Регистрация
*
*
*
*
Генерация пароля
Заказать звонок



Купить в 1 клик