...
- Установка соединения клиента с ТД.
- ТД выполняет MAB для клиента на RADIUS-сервере.
- Проверка наличия УЗ клиента для MAB авторизации в БД.
- Т.к клиент подключается впервые, УЗ клиента для MAB отсутствует в БД.
- ТД получает Access-Reject от RADIUS-сервера.
- Клиент пытается посетить какой либо ресурс, через HTTP GET запрос.
- ТД перехватывает запрос клиента, подставляет значения wildcard параметров из redirect-url-custom и перенаправляет на страницу портала.
- Клиент попадает на страницу редиректа, проходит процесс авторизации и отправляет учетные данные на внешний портал.
- Внешний портал проверяет и сохраняет учетные данные клиента в БД.
- Внешний портал получив учетные данные клиента обрабатывает их и после отправляет HTTP POST запрос к WLC. Куда отправить ответный HTTP запрос, внешний портал узнает из параметра LOGIN_URL, который содержится в redirect-url-custom.
- WLC валидирует наличие обязательных параметров в HTTP POST запросе для аутентификации клиента, в случае если все обязательные параметры присутствует, проверяет наличие информации по клиенту и к какой ТД он подключен и затем отправляет запрос на ТД для аутентификации клиента.
- ТД отправляет RADIUS запроса Acess-Request подставляя в RADIUS атрибуты User-name и User-Password значения, которые были переданы от внешнего портала в виде параметров username и password в http запросе на шаге №4. После отправки RADIUS-запроса запускается таймаут, который задается через параметр: radius-response-timeout (10 секунд по умолчанию).
- RADIUS-сервер проверяет наличие УЗ клиента в БД.
- RADIUS-сервер получает результат проверки наличия УЗ клиента в БД.
- RADIUS-сервер отправляет ответ Access-Accept на запрос ТД на шаге #12
- ТД отправляет уведомление на WLC, что клиент успешно авторизован. Запись сохраняется в журнале клиентов.
- WLC отправляет HTTP RESPONSE на HTTP REQUEST, который был отправлен на шаге #4 от внешнего портала.
- Внешний портал сохраняет УЗ клиента для MAB. Каждый раз при подключении к новой ТД либо роуминге, ТД будет выполнять MAB и т.к УЗ клиента уже будет храниться в БД, клиент будет аутентифицирован без взаимодействия со страницой портала.
- ТД перенаправляет клиента на изначально запрошенный ресурс.
...
Таблица описание параметров:
| Параметр | Описание | Обязательный или необязательный |
|---|---|---|
| cmd | На текущий момент начиная с версии WLC 1.39.2 поддерживается только команда: login | Обязательный |
| client-mac | MAC-адрес клиента в одном из форматов:
| Обязательный |
| ip-address | IP-адрес клиента в формате:
| Обязательный |
| username | Username клиента. Значение данного параметра передаются в RADIUS запросе Acess-Request в рамках атрибута User-name | Обязательный |
| password | Пароль клиента. Значение данного параметра передается в RADIUS запросе Acess-Request в рамках атрибута User-password. | Обязательный |
Структура ответа внешнему порталу от WLC
...
| Блок кода |
|---|
<?xml version="1.0"?><response><client-mac>7a:c5:b8:80:07:eb</client-mac><ip-address>10.25.229.12</ip-address><result>success</result><errcode>0</errcode></response> |
| Параметр | Описание | Обязательный или необязательный |
|---|---|---|
| client-mac | MAC-адрес клиента в формате:
| Необязательный |
| ip-address | IP-адрес клиента в формате:
| Обязательный |
| result | Результат авторизации клиента по параметрам из HTTP POST запроса:
| Обязательный |
| errcode | Код ошибки:
| Обязательный |
Пошаговая настройка
Настройка external-portal-manager
...