Скрипт предназначен для автоматического контроля работоспособности портальной авторизации пользователей посредством смс и затрагивает следующие компоненты системы:
- сервис портальной авторизации eltex-portal,
- сервис отправки сообщений eltex-ngw,
- сервис управления учетными записями hotspot пользователей eltex-mercury,
Может работать непосредственно на сервере с установленным пакетом eltex-portal, либо запускаться с удаленной машины, где обеспечена сетевая связность до сервера с установленным пакетом eltex-portal.
Скрипт проверки портальной авторизации, работает на python3. Перед запуском, необходимо установить дополнительные модули, которые указаны в файле requirements.txt.
Для установки дополнительных модулей выполнить команду:
(venv) root@vagrant-ubuntu16-xenial-64-SWLC:~/# pip3 install -r requirements.txt
Запуск скрипта:
(venv) root@vagrant-ubuntu16-xenial-64-SWLC:~/# python3 portal.py
Описание работы
Скрипт обращается на главную страницу виртуального портала, после чего выполняется выбор авторизации по смс. Далее передаются данные по тестовому пользователю, такие как номер пользователя, виртуальному порталу и
выполняется запрос в базу данных монго для получения пароля. Далее данные (логин и пароль) передаются порталу на проверку связки логин-пароль, после успешной проверки происходит назначение тарифа тестовому пользователю и редирект на внешний адрес.
Успешность выполнения авторизации определяется выводом сообщения "true" после выполнения, пример:
(venv) root@vagrant-ubuntu16-xenial-64-SWLC:~/# python3 portal.py true
В противоположном случае, когда по каким-либо причинам авторизация не удалась, появляется сообщение "false"
(venv) root@vagrant-ubuntu16-xenial-64-SWLC:~/# python3 portal.py false
Схема работы скрипта автоматической авторизации через смс
настройка
Все настройки, необходимые для работы скрипта, содержатся в файле constants.py. Для работы скрипта необходимо указать все значения. Особое внимание следует уделить настройке
портальной авторизации, таким параметрам как SSID, EltexApLocation, EltexCpDomain, EltexCpName, EltexCpClientMac.
level_log - уровень логирования, log_path - путь для записи лога, login - номер телефона тестового пользователя, ip - ip адрес сервера с установленным пакетом Eltex-portal, ip_db - ip адрес базы данных монго, portal_port - порт, который использует портал SSID - название SSID, на котором будет выполняться проверка EltexApLocation - домен точки доступа, на которую назначен SSID EltexCpDomain - домен виртуального портала EltexCpName - имя виртуального портала EltexCpClientMac - мак адрес тестового пользователя
Дополнительные параметры
доступны следующие ,необязательные, аргументы для запуска
-t выбор типа авторизации, доступные значения "demo", "sms"
пример:
(venv) root@vagrant-ubuntu16-xenial-64-SWLC:~/# python3 portal.py -t demo
-d выбор директории для логирования
(venv) root@vagrant-ubuntu16-xenial-64-SWLC:~/# python3 portal.py -d /var/log/portal-auth.log
Файлы для загрузки
Архив включает в себя скрипт авторизации, модули, список дополнительных модулей.