RetrieveRadiusUserListV3 - Запрос списка аккаунтов Wi-Fi клиентов из базы RADIUS с фильтром по произвольному атрибуту и времени
Общая информация
-
Команда актуальна, начиная с версии 1.7.
-
Команда предназначена для получения списка аккаунтов Wi-Fi клиентов из базы RADIUS с фильтром по произвольному атрибуту и времени.
Входные параметры
| Параметр | Значение | Формат значения | Расшифровка формата | Ссылка |
|---|---|---|---|---|
username |
Логин клиента, если установлен, то выдается список аккаунтов, логин которых содержит значение данного поля. Используйте специальные символы ? (один символ) и % (неограниченное кол-во символов). |
^.{1,64}$ |
Текст до 64-х символов. |
Wi-Fi пользователь |
domain |
Домен клиента, может быть пустым. |
(?=^.{1,235}$)(^((?!-|_|.*(__|--).*)[a-zA-Z0-9_\-]\{1,63}\.)*((?!-|_|.*(__|--).*)[a-zA-Z0-9_\-]{1,63})$) |
Текст длиной до 235 символов, удовлетворяющий правилам FQDN. |
Domain |
tariffCode |
Фильтр по коду тарифного плана. Может отсутствовать. |
^.{1,64}$ |
Текст до 64-х символов. |
|
timeStart |
Поле для поиска по времени активности в формате «yyyy-MM-ddTHH:mm:ss±HH:MM». Время окончания сессии не может быть раньше этого параметра. Может быть пустым. |
.* |
Время по стандарту "ISO 8601" в формате «yyyy-MM-ddTHH:mm:ss±HH:MM», например "2008-11-15T22:52:58+03:00" |
|
timeStop |
Поле для поиска по времени активности в формате «yyyy-MM-ddTHH:mm:ss±HH:MM». Время начала сессии не может быть позже этого параметра. Может быть пустым. |
.* |
Время по стандарту "ISO 8601" в формате «yyyy-MM-ddTHH:mm:ss±HH:MM», например "2008-11-15T22:52:58+03:00" |
|
attrFilter |
NbiAttr Фильтрация по произвольному атрибуту в БД RADIUS. |
.* |
NbiAttr |
|
count |
Кол-во выводимых элементов, обязательно. |
^[1-9][0-9]*$ |
Целое положительное число |
|
page |
Номер страницы, порции выдаваемых элементов, обязательно. |
^[1-9][0-9]*$ |
Целое положительное число |
|
orderBy |
Поле, определяющее, по какому элементу сортировать выдаваемые данные. |
.* |
username, domain или имя любого атрибута (при условии, что атрибут будет указан в списке attributeName) |
|
orderType |
Поле определяющее тип сортировки. (По умолчанию ASC) |
^(ASC|DESC)$ |
ASC или DESC |
|
attributeName |
0 или более строковых элементов, определяющий имена атрибутов, которые нужно вернуть. Если не задано ни одного, то возвращаются все атрибуты, но тогда нельзя использовать сортировку по атрибуту. |
.* |
Атрибуты пользователя, ожидается один или больше объект NbiAttr. |
Выходные параметры
| Параметр | Значение | Формат значения |
|---|---|---|
response |
Массив объектов NbiRadiusUserItemSingle. |
NbiRadiusUserItemArray |
code |
Код ответа |
int |
detail |
Пояснение к ответу. При успешном выполнении команды содержит суммарное количество пользователей, которые удовлетворяют условиям выборки. |
Текст английскими буквами с пробелами и спецсимволами. |
Примеры команд и кодов
| Код | Описание |
|---|---|
0 |
Успешно |
Запрос
<nbi:RetrieveRadiusUserListV3>
<nbi:username>%user3%</nbi:username>
<nbi:domain>root</nbi:domain>
<nbi:tariffCode>100mb</nbi:tariffCode>
<nbi:timeStart>2020-11-28T07:31:28</nbi:timeStart>
<nbi:timeStop>2020-12-01T07:31:28</nbi:timeStop>
<nbi:attrFilter>
<xsd:name>Eltex-User-Category</xsd:name>
<xsd:oper>=</xsd:oper>
<xsd:value>enterprise</xsd:value>
</nbi:attrFilter>
<nbi:count>10</nbi:count>
<nbi:page>1</nbi:page>
<nbi:orderBy></nbi:orderBy>
<nbi:orderType></nbi:orderType>
<nbi:attributeName>TLS-Client-Cert-Serial</nbi:attributeName>
</nbi:RetrieveRadiusUserListV3>
Ответ
<ns:RetrieveRadiusUserListV3Response>
<ns:return>
<ax21:code>0</ax21:code>
<ax21:detail>1</ax21:detail>
<ax21:response xsi:type="ax21:NbiRadiusUserItemArray">
<ax21:item xsi:type="ax21:NbiRadiusUserItemSingle">
<ax21:clientCrtLink/>
<ax21:domain>root</ax21:domain>
<ax21:name>crtOlduser3</ax21:name>
<ax21:password/>
<ax21:tariffCode>100mb</ax21:tariffCode>
<ax21:check xsi:type="ax21:NbiAttrArray">
<ax21:attr xsi:type="ax21:NbiAttr">
<ax21:name>TLS-Client-Cert-Serial</ax21:name>
<ax21:oper>:=</ax21:oper>
<ax21:value>0f</ax21:value>
</ax21:attr>
</ax21:check>
<ax21:common xsi:type="ax21:NbiAttrArray">
<ax21:attr xsi:type="ax21:NbiAttr">
<ax21:name>Eltex-User-Category</ax21:name>
<ax21:oper>=</ax21:oper>
<ax21:value>enterprise</ax21:value>
</ax21:attr>
</ax21:common>
<ax21:reply xsi:type="ax21:NbiAttrArray">
<ax21:attr xsi:type="ax21:NbiAttr">
<ax21:name>Eltex-User-Create-Date</ax21:name>
<ax21:oper>=</ax21:oper>
<ax21:value>2020-09-09 17:50:25</ax21:value>
</ax21:attr>
</ax21:reply>
<ax21:verificationWay xsi:nil="true"/>
</ax21:item>
<ax21:item xsi:type="ax21:NbiRadiusUserItemSingle">
<ax21:clientCrtLink>http://127.0.0.1:8080/eltex-radius-nbi/certificates/root/user3.zip</ax21:clientCrtLink>
<ax21:domain>root</ax21:domain>
<ax21:name>user3</ax21:name>
<ax21:password/>
<ax21:tariffCode>100mb</ax21:tariffCode>
<ax21:check xsi:type="ax21:NbiAttrArray">
<ax21:attr xsi:type="ax21:NbiAttr">
<ax21:name>TLS-Client-Cert-Serial</ax21:name>
<ax21:oper>:=</ax21:oper>
<ax21:value>5f</ax21:value>
</ax21:attr>
</ax21:check>
<ax21:common xsi:type="ax21:NbiAttrArray">
<ax21:attr xsi:type="ax21:NbiAttr">
<ax21:name>Eltex-User-Category</ax21:name>
<ax21:oper>=</ax21:oper>
<ax21:value>enterprise</ax21:value>
</ax21:attr>
</ax21:common>
<ax21:reply xsi:type="ax21:NbiAttrArray">
<ax21:attr xsi:type="ax21:NbiAttr">
<ax21:name>Eltex-User-Create-Date</ax21:name>
<ax21:oper>=</ax21:oper>
<ax21:value>2020-10-02 15:38:46</ax21:value>
</ax21:attr>
</ax21:reply>
<ax21:verificationWay xsi:nil="true"/>
</ax21:item>
<ax21:item xsi:type="ax21:NbiRadiusUserItemSingle">
<ax21:clientCrtLink/>
<ax21:domain>root</ax21:domain>
<ax21:name>user33</ax21:name>
<ax21:password/>
<ax21:tariffCode>100mb</ax21:tariffCode>
<ax21:check xsi:type="ax21:NbiAttrArray">
<ax21:attr xsi:type="ax21:NbiAttr">
<ax21:name>TLS-Client-Cert-Serial</ax21:name>
<ax21:oper>:=</ax21:oper>
<ax21:value>1e</ax21:value>
</ax21:attr>
</ax21:check>
<ax21:common xsi:type="ax21:NbiAttrArray">
<ax21:attr xsi:type="ax21:NbiAttr">
<ax21:name>Eltex-User-Category</ax21:name>
<ax21:oper>=</ax21:oper>
<ax21:value>enterprise</ax21:value>
</ax21:attr>
</ax21:common>
<ax21:reply xsi:type="ax21:NbiAttrArray">
<ax21:attr xsi:type="ax21:NbiAttr">
<ax21:name>Eltex-User-Create-Date</ax21:name>
<ax21:oper>=</ax21:oper>
<ax21:value>2020-09-10 14:43:44</ax21:value>
</ax21:attr>
</ax21:reply>
<ax21:verificationWay xsi:nil="true"/>
</ax21:item>
</ax21:response>
</ns:return>
</ns:RetrieveRadiusUserListV3Response>
| Код | Описание ошибки |
|---|---|
8 |
Домен не соответствует правилам |
10 |
Домен роли не имеет прав на домен пользователя или домен тарифного плана |
62 |
Домен клиента не зарегистрирован |
100 |
Тарифного плана с таким кодом не существует |
107 |
Время начала активности не должно превышать время конца активности |
112 |
Не установлен параметр в поле count |
113 |
Не установлен параметр в поле page |
114 |
Некорректное значение поля orderBy |
Пример использования
См. также
Вернуться к списку команд
Версия 1.21-2344
Дата публикации 22-12-2021 05:34:48