Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
abills:docs:nas:mikrotik:hotspot [2017/07/28 22:03] snuryus [Альтернативная схема авторизации] |
abills:docs:nas:mikrotik:hotspot [2018/09/28 12:54] (текущий) larysa |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | **''Документация по модулю Hotspot и принадлежащим к нему страницам перенесена в Confluence''** | ||
+ | [[http://abills.net.ua:8090/display/AB/Mikrotik]] | ||
+ | |||
=====Mikrotik HotSpot===== | =====Mikrotik HotSpot===== | ||
Инструкция по настройке Hotspot на Mikrotik RouterBoard.\\ | Инструкция по настройке Hotspot на Mikrotik RouterBoard.\\ | ||
Строка 182: | Строка 185: | ||
{{ :abills:docs:nas:mikrotik:hotspot_new.png?nolink |}} | {{ :abills:docs:nas:mikrotik:hotspot_new.png?nolink |}} | ||
| | ||
- | Настройка Хотспота полностью аналогична описанной выше. Отличие только в странице авторизации login.html | + | Настройка Хотспота (на Mikrotik) полностью аналогична описанной выше. Отличие только в странице авторизации login.html |
<file html login.html> | <file html login.html> | ||
Строка 188: | Строка 191: | ||
<title>...</title> | <title>...</title> | ||
<body> | <body> | ||
- | <form name="redirect" action="https://192.168.1.143:9443/start.cgi" method="post"> | + | <form name="redirect" action="https://192.168.0.1:9443/start.cgi" method="post"> |
<input type="hidden" name="mac" value="$(mac)"> | <input type="hidden" name="mac" value="$(mac)"> | ||
<input type="hidden" name="username" value="$(username)"> | <input type="hidden" name="username" value="$(username)"> | ||
- | <input type="hidden" name="link-login-only" value="$(link-login-only)"> | + | <input type="hidden" name="link_login_only" value="$(link-login-only)"> |
- | <input type="hidden" name="link-orig" value="$(link-orig)"> | + | <input type="hidden" name="link_orig" value="$(link-orig)"> |
- | <input type="hidden" name="server-name" value="$(server-name)"> | + | <input type="hidden" name="server_name" value="$(server-name)"> |
<input type="hidden" name="error" value="$(error)"> | <input type="hidden" name="error" value="$(error)"> | ||
</form> | </form> | ||
Строка 212: | Строка 215: | ||
^$conf{HOTSPOT_MAC_LOGIN} = 1; | Разрешить авторизацию пользователей по мак адресу клиента. | | ^$conf{HOTSPOT_MAC_LOGIN} = 1; | Разрешить авторизацию пользователей по мак адресу клиента. | | ||
^$conf{HOTSPOT_CHECK_PHONE} = 1; | Обязательная проверка телефона. Система отправляет смс с пин-кодом на указанный номер. | | ^$conf{HOTSPOT_CHECK_PHONE} = 1; | Обязательная проверка телефона. Система отправляет смс с пин-кодом на указанный номер. | | ||
+ | ^$conf{HOTSPOT_AUTH_NUMBER} = '+XXXXXXXXXXX'; | Номер телефона, на который нужно перезвонить пользователю для авторизации | | ||
^$conf{HOTSPOT_SN_LOGIN} = 'Facebook'; | Разрешить авторизацию пользователей через Фейсбук. | | ^$conf{HOTSPOT_SN_LOGIN} = 'Facebook'; | Разрешить авторизацию пользователей через Фейсбук. | | ||
^$conf{HOTSPOT_BUY_CARDS} = 1; | Разрешить регистрацию только после оплаты тарифа. (Должен быть настроен прием онлайн платежей) | | ^$conf{HOTSPOT_BUY_CARDS} = 1; | Разрешить регистрацию только после оплаты тарифа. (Должен быть настроен прием онлайн платежей) | | ||
^$conf{HOTSPOT_SHOW_FB} = 'https://www.facebook.com/Mypage'; | Предложение лайкнуть ФБ страницу. (Работает только с авторизацией через Фейсбук) | | ^$conf{HOTSPOT_SHOW_FB} = 'https://www.facebook.com/Mypage'; | Предложение лайкнуть ФБ страницу. (Работает только с авторизацией через Фейсбук) | | ||
+ | ^$conf{HOTSPOT_LOGIN_PREFIX} = 'hs'; | Префикс который добавляется к логину пользователей хотспота. | | ||
^$conf{HOTSPOT_GUESTS_GROUP} = 'HotGroup'; | Группа для пользователей, которые регистрируются через хотспот. | | ^$conf{HOTSPOT_GUESTS_GROUP} = 'HotGroup'; | Группа для пользователей, которые регистрируются через хотспот. | | ||
^$conf{HOTSPOT_GUESTS_GID} = '800'; | Номер(ID) этой группы. | | ^$conf{HOTSPOT_GUESTS_GID} = '800'; | Номер(ID) этой группы. | | ||
+ | ^$conf{HOTSPOT_TPS}='7'; | Явно указать тариф для пользователей хотспота. По умолчанию используется гостевой тариф. | | ||
==== Примеры конфигурации ==== | ==== Примеры конфигурации ==== | ||
Строка 237: | Строка 243: | ||
Пользователь подключается к сети WiFi, на его устройстве автоматически открывается браузер. При первом подключении откроется страница Фейсбука, с просьбой дать доступ к публичной информации пользователя. Далее откроется страница с виджетом, который предложит лайкнуть страницу. После нажатия кнопки "продолжить" пользователя перенаправит на www.google.com. (На фоне все аналогично первому примеру, только проверяется не мак, а аккаунт Фейсбука). | Пользователь подключается к сети WiFi, на его устройстве автоматически открывается браузер. При первом подключении откроется страница Фейсбука, с просьбой дать доступ к публичной информации пользователя. Далее откроется страница с виджетом, который предложит лайкнуть страницу. После нажатия кнопки "продолжить" пользователя перенаправит на www.google.com. (На фоне все аналогично первому примеру, только проверяется не мак, а аккаунт Фейсбука). | ||
- | === Идентификация пользователя с помощью телефона === | + | === Один логин для всех гостей === |
+ | $conf{HOTSPOT_AUTO_LOGIN} = 1; | ||
+ | $conf{HOTSPOT_ONE_LOGIN_FOR_ALL} = 'hotspot_guest:123456'; | ||
+ | |||
+ | Все пользователи авторизируются под одним логином, указанным в конфигурации (в примере логин - hotspot_guest, пароль 123456). Вам необходимо заранее создать такого пользователя и выбрать ему гостевой тариф. В настройке пользователя, в поле CID нужно указать 'ANY', для того чтобы система пропускала пользователей с любыми МАК-адресами. В поле "Одновременно" можно указать предельное число одновременно подключенных пользователей с этим логином (или 0 если ограничений нет). | ||
+ | |||
+ | === Идентификация пользователя с помощью СМС === | ||
$conf{HOTSPOT_AUTO_LOGIN} = 1; | $conf{HOTSPOT_AUTO_LOGIN} = 1; | ||
Строка 244: | Строка 256: | ||
| | ||
Пользователь после подключения попадает на форму ввода телефона. На указанный телефон высылается СМС с пин-кодом. После ввода правильного пин-кода пользователь перенаправляется на www.google.com. (На фоне все аналогично первому варианту, дополнительно записывается телефон, и информация про то что он был подтвержден, по умолчанию телефон требует подтверждения не чаще одного раза в сутки). | Пользователь после подключения попадает на форму ввода телефона. На указанный телефон высылается СМС с пин-кодом. После ввода правильного пин-кода пользователь перенаправляется на www.google.com. (На фоне все аналогично первому варианту, дополнительно записывается телефон, и информация про то что он был подтвержден, по умолчанию телефон требует подтверждения не чаще одного раза в сутки). | ||
+ | |||
+ | === Идентификация пользователя с помощью звонка на указанный номер === | ||
+ | |||
+ | $conf{HOTSPOT_AUTO_LOGIN} = 1; | ||
+ | $conf{HOTSPOT_CHECK_PHONE} = 1; | ||
+ | $conf{HOTSPOT_AUTH_NUMBER} = '+XXXXXXXXXXX'; | ||
+ | |||
+ | Для обработки звонка, в extention.conf asteriska нужно добавить | ||
+ | [abills-agi] | ||
+ | exten => 600,1,NoOP(-----start-----) | ||
+ | exten => 600,n,AGI(/usr/abills/Abills/modules/Hotspot/phone_verification.agi) | ||
+ | exten => 600,n,Hangup() | ||
+ | | ||
+ | Пользователь после подключения попадает на форму ввода телефона. После ввода телефона, система предложит ему перезвонить на определенный номер для подтверждения. После звонока - в базу будет добавлен пользователь с таким мак-адресом и телефоном, и последующие подключения будут происходить автоматически. | ||
+ | |||
+ | === Подключение с онлайн-оплатой активации === | ||
+ | |||
+ | $conf{HOTSPOT_AUTO_LOGIN} = 1; | ||
+ | $conf{HOTSPOT_MAC_LOGIN} = 1; | ||
+ | $conf{HOTSPOT_REGISTRATION} = 'NO'; (запретить гостевых пользователей) | ||
+ | $conf{HOTSPOT_BUY_CARDS} = 1; (разрешить онлайн оплату тарифа) | ||
+ | $conf{HOTSPOT_TPS}='123;345'; (тарифы доступные для пользователя) | ||
+ | | ||
+ | Пользователь после подключения попадает на страницу с списком доступных вариантов подключения, затем выбирает метод оплаты и попадает на страницу выбранной платежной системы. После успешного платежа, в биллинге создается пользователь, и на его счет засчитывается полученная сумма. Дальнейшие подключения происходят автоматически. Если на счету закончились деньги, пользователь увидит сообщение о негативном депозите и может пополнить счет. | ||
+ | |||
+ | === Оплата с помощью ваучера === | ||
+ | |||
+ | $conf{HOTSPOT_AUTO_LOGIN} = 1; | ||
+ | $conf{HOTSPOT_MAC_LOGIN} = 1; | ||
+ | $conf{HOTSPOT_USE_PIN} = 1; | ||
+ | $conf{HOTSPOT_TPS}='7'; | ||
+ | | ||
+ | Пользователь сразу попадает на страницу ввода пин-кода, после ввода кода с ваучера появляется интернет. Если оплаченное время прошло - пользователь опять попадает на страницу ввода пина. Коды пополнения генерируются с помощью модуля Cards, и выдаются диллерам. В данной схеме обязательно использовать тариф с почасовой оплатой. Для примера вы создаете тариф с стоимостью 10 единиц за 1 час. И создаете карточки пополнения на 5 единиц. После ввода пин кода пользователь получит интернет на пол часа. | ||
+ | | ||
+ | |||
+ | ==== Возможные ошибки ==== | ||
+ | |||
+ | Для регистрации пользователей используется модуль Cards, проверте есть ли все необходимые таблицы в базе данных. | ||
+ | |||
+ | Для оплат используется модуль Paysys, проверте подключен ли модуль и есть ли в конфиге настройки хотя бы одной платежной системы. | ||
+ | |||
+ | Дла авторизации через социальные сети дожно быть добавлено дополнительное информационное поле соответствующей соц.сети. | ||
+ | |||
+ | Для гостевых пользователей должен быть создан тариф с типом оплаты "Гостевой доступ". | ||
+ | |||
+ | Убедитесь что в файле "login.html" залитом на Микротик прописан именно ваш адрес биллинга, а сам адрес добавлен в список walled garden ip list. | ||
+ | |||
+ | Некоторые телефоны не приветствуют перенаправление с https на http и наоборот. Решение проблемы - открыть еще один виртуальный сервер, для доступа к start.cgi по http. | ||
+ |