UniFi — Настройка портала беспроводного доступа в соответствии со своими требованиями

Описано, как настроить встроенный портал беспроводного доступа UniFi.

В отличие от реализации других гостевых порталов, при которых накладываются ограничения на дисковое пространство, фиксирована структура папок и т.д., UniFi предлагает почти неограниченные возможности настройки портала в соответствии со своими требованиями с помощью обычных средств языка html.

Весь каталог портала открыт и Вы можете изменять его. В процессе настройки портала Вы можете тестировать его (сохраняя файл и перезагружая страницу) в гостевом браузере, чтобы проверять внесенные изменения.

Более того, Вы можете создать множество пакетов беспроводного доступа — каждый пакет с различной оплатой, именем, длительностью использования, ограничением пропускной способности.

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

Установка

  1. В разделе Settings->Guest Control (Настройки->Управление гостями), включите Guest Portal (Гостевой портал) и Portal Customization (Настройка портала).

  2. Щелкните ‘Apply.’ Применить) Будет создана копия страниц портала в <unifi_base>/data/portal (v2.x) или <unifi_base>/data/sites/sitename/portal (v3.x)

  3. С помощью другого персонального компьютера (ПК) подключитесь к гостевой сети и с помощью браузера войдите на любой web-сайт.

  4. Вы будете перенаправлены на страницу портала, выбираемую по умолчанию.

  5. Изменяйте страницы (например поле <title>) и просматривайте изменения, перезагружая страницы в браузере на клиенте.

<unifi_base> находится в следующих папках:

  • Mac:/Applications/UniFi.app/Contents/Resources

  • Windows:«%userprofile%/Ubiquiti Unifi»

  • Linux:/usr/lib/unifi

Образец портала
Образец портала, полезный также и сам по себе, написан таким образом, что демонстрирует наиболее часто применяемые функции в простейшем формате.

# структура папки

index.html  : главная страница

bundle/messages.properties: для локализации и спецификации беспроводного пакета

payment.html  : для приема информации от кредитных карт. Требует протокола https, также служит примером дополнительной страницы .html

fail.html  : страница по умолчанию, на которой обрабатываются ошибки регистрации гостя

Вспомогательные файлы:

images/

js/

reset-min.css

styles.css

Примечания:

  1. Все страницы .html обрабатываются вычислительной подсистемой и могут быть целевыми для действий с формой POST.

  2. Никаких файлов поддержки не требуется; также Вы можете развернуть свои собственные файлы.

  3. После модификации портала, Вы можете увидеть изменения, введя в строке адреса браузера https://[IP-адрес контроллера]:8843/guest/s/default/.

Дальнейшие объяснения см. в нескольких сценариях, приведенных ниже. 

Сценарии

Могу ли я изменить что-то и увидеть, что от этого изменилось? Да.

  1. На контроллере: включите Guest Portal (Гостевой портал), выберите No Authentication (Без аутентификации).

  2. Измените index.html: отыщите

«<h2>Terms of Use</h2>»

и замените на

«<h2>Welcome to Joe’s Guest Portal!</h2>»

  1. Используя другое устройство, подключитесь к гостевой беспроводной сети и откройте браузер на любой URL, чтобы увидеть изменения.


Как отобразить страницу Terms of Use (Условия использования) в настроенном в соответствии с моими требованиями портале?

На контроллере: включите Guest Portal (Гостевой портал), выберите No Authentication (Без аутентификации).

  1. Просмотрите нижнюю часть страницы index.html. Отредактируйте ToU в соответствии со своими требованиями.

  2. Все что требуется — форма POST для регистрации гостя и авторизации доступа пользователя к гостевой сети.

  3. Страница образца требует, чтобы пользователь принял Terms of Use (Условия использования). Кнопка submit (отправить) не будет активна, пока гость не выберет опцию «I accept the Terms of Use.» (Я принимаю условия использования.)


Как включить аутентификацию простых паролей?

На контроллере: Включите Guest Portal (Гостевой портал), выберите Simple Password (Простой пароль).

  1. Отыщите текст заключенный в теги <unifi if=»auth_password»> … </unifi>

  2. Требует форму POST («password» (пароль))

  3. В скрытом поле «page error» (ошибка страницы) указано, какая страница была обработана с ошибкой в образце index.html

  4. Это заставляет нас просмотреть секцию <unifi if=»has_error»> где находится либо локализованная ошибка <unifi error=»error» /> или отображается заголовок с приглашением <unifi txt=»PasswordRequiredForWirelessAccess» /> .


Как интегрировать контроллер UniFi с Paypal Pro или стандартными учетными записями?

Мы скомпилировали примеры по шагам, чтобы продемонстрировать, как беспроводная точка доступа UniFi может быть интегрирована с учетными записями PayPal и PayPal Pro. Интеграция UniFi и PayPal

 

Настройка квитанций чеков в соответствии со своими требованиями

В настоящее время настройка чеков в соответствии с специальными требованиями еще не реализована. Однако, Вы можете попробовать изменить webapps/ROOT/pages/voucher.jsp

Примечание: Убедитесь в том, что у этого файла имеется резервная копия, так как он будет стерт при обновлении или переустановке контроллера.

Код JSP похож на код HTML и его можно редактировать. В текущей реализации печатается 4 квитанции подряд с минимальным форматированием.

<td>

<p class=»valid»>Valid for <%=valid%></p>

<p class=»code»><%=code%></p>

</td>

Другой подход состоит в использовании программного интерфейса (API) для создания квитанций чеков; детальная информация квитанции получается из JSON и затем форматируется в соответствии с специальными требованиями и печатается (например, на принтере для печати чеков). 

Синтаксис страницы портала и переменные

Ниже перечислены некоторые теги UniFi.

Некоторые переменные содержат данные, которые Вы можете использовать <unifi var=»varnames» /> при обработке в HTML странице:

<unifi var=»name» />

  • auth: none (нет) | password (пароль) | hotspot (портал)

  • auth_none: false (ложь) | true (истина)

  • auth_password: false (ложь) | true (истина)

  • auth_hotspot: false (ложь) | true (истина)

  • voucher_enabled: false (ложь) | true (истина)

  • payment_enabled: false (ложь) | true (истина)

  • package: id пакета (из POST или GET)

  • mac: МАС-адрес гостя

  • ap_mac: MAC-адрес АР

  • ap_name: имя AP

  • map_name: местоположение AP (имя карты)

  • ssid: SSID беспроводной сети

  • error: сообщение об ошибке

  • has_error: false (ложь) | true (истина)

Чтобы включить другую HTML-страницу, используйте:

<unifi include=»header.html» />

Чтобы использовать простую логику if/then/else для определения того, должна ли отображаться секция страницы, используйте <unifi if=»!name» eq=»value» > … </unifi>

<unifi include=»header.html» /><unifi if=»name» eq=»value»> … <unifi else=»var» /> … </unifi>

Для локализации текста или просмотра bundle/messages.properties используйте:

<unifi txt=»InvalidPassword» />

Для генерации URL (и возможно, смены его на HTTPs) используйте:

<unifi url=»payment.html» https=»true» />

Параметры гостя

Операторы могут задавать параметры под URL «/guest/login», которые гости должны будут ввести для авторизации:

  • by: тип аутентификации (для портала): voucher | credit | paypal

  • package: идентификатор пакета (для портала)

  • voucher: код квитанции чека (для портала / квитанции чека)

  • cc_xxxxx: информация кредитной карты (для портала / кредита):

  • landing_url: используется динамический URL (который может быть сконструирован с помощью переменных)

  • page_error: относительный URI, когда происходит ошибка (по умолчанию fail.html)

Примечание: поля, относящиеся к кредитной карте: cc_firstname, cc_lastname, cc_number, cc_year, cc_month, cc_ccv2 cc_addr1, cc_addr2, cc_city, cc_state, cc_zip, cc_country, cc_email

Определения пакетов

В каталоге, указанном ниже, пользователи могут задавать определения пакетов:

«bundle/messages.properties:package definitions»

## пакет 1

# сумма оплаты в долларах США

package.1.amount=5.99

# валютой по умолчанию является доллар США (USD)

package.1.currency=USD package.1.hours=8

# Что отображается в менеджере портала

package.1.name=Basic 8HR

# что отображается в выписке по кредитной карте package.1.charged_as=Hotspot 8-hour WiFi

## пакет 2

package.2.amount=8.99

package.2.hours=24

package.2.name=Premium Daypass

package.2.charged_as=Hotspot 1-day WiFi

## пакет 3

# это пробный пакет с коротким сроком действия (с суммой оплаты 0)

package.3.amount=0

package.3.hours=2

package.3.name=Free Trial

# требуется ли переписать правила группы пользователей для WLAN/User, по умолчанию имеет значение false (ложь)

# доступно только в версии 2.1.0

package.3.limit_overwrite=true

# кбит/с, по умолчанию скорость не ограничивается

package.3.limit_down=4096

# кбит/с, по умолчанию скорость не ограничивается

package.3.limit_up=1024

# Мбайт, по умолчанию не ограничивается

package.3.limit_quota=1024

 

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

 

 

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



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