Типы аттрибутов RADIUS
Эти константы описывают типы аттрибутов RADIUS, которые можно использовать в функциях radius_put_addr(), radius_put_attr(), radius_put_int() и radius_put_string().
-
RADIUS_USER_NAME(int) -
Аттрибут User-Name. Должен быть типа string и содержать имя аутентифицируемого пользователя. Аттрибут можно установить функцией radius_put_attr().
-
RADIUS_USER_PASSWORD(int) -
Аттрибут User-Password. Должен быть типа string и содержать пароль пользователя. Аттрибут можно установить функцией radius_put_attr(). Это значение будет обфусцировано при передаче согласно » секции 5.2 RFC 2865.
-
RADIUS_CHAP_PASSWORD(int) -
Аттрибут Chap-Password. Должен быть типа string и содержать идентификатор CHAP пользователя, 16 байт, содержащими MD5-хеш идентификатора CHAP, текстовое представление пароля и проверочное значение CHAP соединенными в одну строку. Обратите внимание, что проверочное значение CHAP также должно быть отдельно послано в аттрибуте
RADIUS_CHAP_CHALLENGE.Пример #1 Использование паролей CHAP
<?php
// Для начала создадим обработчик аутентификации и запрос.
$radh = radius_auth_open();
radius_add_server($radh, $server, $port, $secret, 3, 3);
radius_create_request($radh, RADIUS_ACCESS_REQUEST);
// Считая, что $password содержит пароль в незашифрованном виде, мы делаем:
// Создаем проверочное значение.
$challenge = mt_rand();
// Задаем идентификатор CHAP.
$ident = 1;
// Добавляем аттрибут Chap-Password.
$cp = md5(pack('Ca*', $ident, $password.$challenge), true);
radius_put_attr($radh, RADIUS_CHAP_PASSWORD, pack('C', $ident).$cp);
// Добавляем аттрибут Chap-Challenge.
radius_put_attr($radh, RADIUS_CHAP_CHALLENGE, $challenge);
/* Теперь можно добавлять прочие необходимые аттриубты
* и вызывать radius_send_request(). */
?> -
RADIUS_NAS_IP_ADDRESS(int) -
Аттрибут NAS-IP-Address. Ожидается, что значение будет IP-адресом клиента RADIUS в виде целого числа. Аттрибут устанавливается функцией radius_put_addr().
-
RADIUS_NAS_PORT(int) -
Аттрибут NAS-Port. Ожидается, что значение будет физическим портом клиента RADIUS в виде целого числа. Аттрибут устанавливается функцией radius_put_addr().
-
RADIUS_SERVICE_TYPE(int) -
Аттрибут Service-Type. Значение аттрибута обозначает тип сервиса запрашиваемого клиентом, должно быть целым числом. Аттрибут устанавливается функцией radius_put_addr().
Допустимы следующие значения:
RADIUS_LOGINRADIUS_FRAMEDRADIUS_CALLBACK_LOGINRADIUS_CALLBACK_FRAMEDRADIUS_OUTBOUNDRADIUS_ADMINISTRATIVERADIUS_NAS_PROMPTRADIUS_AUTHENTICATE_ONLYRADIUS_CALLBACK_NAS_PROMPT
-
RADIUS_FRAMED_PROTOCOL(int) -
Аттрибут Framed-Protocol. Аттрибут должен быть целым числом, означающим используемый протокол обёртку. Аттрибут устанавливается функцией radius_put_addr(). Допустимые значения:
RADIUS_PPPRADIUS_SLIPRADIUS_ARAPRADIUS_GANDALFRADIUS_XYLOGICS
-
RADIUS_FRAMED_IP_ADDRESS(int) -
Аттрибут Framed-IP-Address. Аттрибут должен содержать адрес пользовательской сети в виде целого числа. Аттрибут устанавливается функцией radius_put_addr() и извлекается функцией radius_cvt_addr().
-
RADIUS_FRAMED_IP_NETMASK(int) -
Аттрибут Framed-IP-Netmask. Аттрибут должен содержать маску пользовательской сети в виде целого числа. Аттрибут устанавливается функцией radius_put_addr() и извлекается функцией radius_cvt_addr()
-
RADIUS_FRAMED_ROUTING(int) -
Аттрибут Framed-Routing. Аттрибут должен быть целым числом и содержать метод маршрутизации. Аттрибут устанавливается функцией radius_put_addr().
Допустимые значения:
0: Без маршрутизации1: Посылка пакетов маршрутизации2: Ожидать пакеты маршрутизации3: Посылать и ожидать
-
RADIUS_FILTER_ID(int) -
Аттрибут Filter-ID. Аттрибут должен быть зависящей от реализации, человеко-читаемой строкой фильтров. Аттрибут устанавливается функцией radius_put_addr()
-
RADIUS_FRAMED_MTU(int) -
Аттрибут Framed-MTU. Целое число, означающее знрачение MTU. Аттрибут устанавливается функцией radius_put_addr()
-
RADIUS_FRAMED_COMPRESSION(int) -
Аттрибут Framed-Compression. Целое число, означающее протокол сжатия. Аттрибут устанавливается функцией radius_put_addr() Допустимые значения:
RADIUS_COMP_NONE: Без сжатияRADIUS_COMP_VJ: Сжатие заголовков VJ TCP/IPRADIUS_COMP_IPXHDR: Сжатие заголовков IPX-
RADIUS_COMP_STAC_LZS: Сжатие Stac-LZS (добавлено в PECL radius 1.3.0b2)
-
RADIUS_LOGIN_IP_HOST(int) -
Аттрибут Login-IP-Host. Целое число, представляющее IP-адрес, с которым соединяется пользователь. Аттрибут устанавливается функцией radius_put_addr()
-
RADIUS_LOGIN_SERVICE(int) -
Аттрибут Login-Service. Значение аттрибута означает сервис, с которым пользователь соединяется на сервере аутентификации. Это значение можно преобразовать в целое число PHP с помощью функции radius_cvt_int().
-
RADIUS_LOGIN_TCP_PORT(int) -
Аттрибут Login-TCP-Port. Значение аттрибута означает порт, с которым пользователь соединяется на сервере аутентификации. Это значение можно преобразовать в целое число PHP с помощью функции radius_cvt_int().
-
RADIUS_REPLY_MESSAGE(int) -
Аттрибут Reply-Message. Значение аттрибута содержит текст, который можно показать пользователю в ответ на запрос аутентификации.
-
RADIUS_CALLBACK_NUMBER(int) -
Аттрибут Callback-Number. Аттрибут содержит строку, которую можно использовать как функцию обратного вызова.
-
RADIUS_CALLBACK_ID(int) -
Аттрибут Callback-Id. Строка, содержащая имя вызываемого метода специфичного для конкретной реализации.
-
RADIUS_FRAMED_ROUTE(int) -
Аттрибут Framed-Route. Строка, содержащая зависящий от реализации список маршрутов сконфигурированных для пользователя.
-
RADIUS_FRAMED_IPX_NETWORK(int) -
Аттрибут Framed-IPX-Network. Целое число, определяющее сеть IPX, настроенную для пользователя или
0xFFFFFFFE, что призывает клиента RADIUS выбрать сеть самостоятельно. Можно извлечь с помощью radius_cvt_int(). -
RADIUS_STATE(int) -
Аттрибут State. Зависящая от реализации строка, включенная в ответ Access-Challenge пришедший от сервера, которую необходимо включить в последующий запрос Access-Request. Должен устанавливаться функцией radius_put_attr().
-
RADIUS_CLASS(int) -
Аттрибут Class. Произвольная строка включенная в сообщение Access-Accept и которая должна быть отослана серверу учетных данных в запросе Accounting-Request. Должен устанавливаться функцией radius_put_attr().
-
RADIUS_VENDOR_SPECIFIC(int) -
Аттрибут Vendor-Specific . В целом, значения этого аттрибута должны устанавливаться с использованием функций radius_put_vendor_addr(), radius_put_vendor_attr(), radius_put_vendor_int() и radius_put_vendor_string(), а не напрямую.
Эти константы необходимы для интерпритации специфичных, зависящих от производителя аттрибутов, пришедших в ответах от сервера RADIUS; когда получены такие аттрибуты, то нужно использовать функцию radius_get_vendor_attr() для извлечения идентификатора вендора, типа аттрибута и его значения.
-
RADIUS_SESSION_TIMEOUT(int) -
Таймаут сессии
-
RADIUS_IDLE_TIMEOUT(int) -
таймаут простоя
-
RADIUS_TERMINATION_ACTION(int) -
Прекращение операции
-
RADIUS_CALLED_STATION_ID(int) -
Идентификатор вызываемой станции
-
RADIUS_CALLING_STATION_ID(int) -
Идентификатор вызывающей станции
-
RADIUS_NAS_IDENTIFIER(int) -
NAS ID
-
RADIUS_PROXY_STATE(int) -
Состояние прокси
-
RADIUS_LOGIN_LAT_SERVICE(int) -
Сервис входа в систему LAT
-
RADIUS_LOGIN_LAT_NODE(int) -
Узел входа в систему LAT
-
RADIUS_LOGIN_LAT_GROUP(int) -
Группа входа в систему LAT
-
RADIUS_FRAMED_APPLETALK_LINK(int) -
Framed Appletalk Link
-
RADIUS_FRAMED_APPLETALK_NETWORK(int) -
Framed Appletalk Network
-
RADIUS_FRAMED_APPLETALK_ZONE(int) -
Framed Appletalk Zone
-
RADIUS_CHAP_CHALLENGE(int) -
Проверочное значение
-
RADIUS_NAS_PORT_TYPE(int) -
Тип порта NAS, одна из констант:
RADIUS_ASYNCRADIUS_SYNCRADIUS_ISDN_SYNCRADIUS_ISDN_ASYNC_V120RADIUS_ISDN_ASYNC_V110RADIUS_VIRTUALRADIUS_PIAFSRADIUS_HDLC_CLEAR_CHANNELRADIUS_X_25RADIUS_X_75RADIUS_G_3_FAXRADIUS_SDSLRADIUS_ADSL_CAPRADIUS_ADSL_DMTRADIUS_IDSLRADIUS_ETHERNETRADIUS_XDSLRADIUS_CABLERADIUS_WIRELESS_OTHERRADIUS_WIRELESS_IEEE_802_11
-
RADIUS_PORT_LIMIT(int) -
Ограничение на порты
-
RADIUS_LOGIN_LAT_PORT(int) -
Порт входа в систему LAT
-
RADIUS_CONNECT_INFO(int) -
Информация о соединении
-
RADIUS_ACCT_STATUS_TYPE(int) -
Статус системы управления учетными данными, одна из констант:
RADIUS_STARTRADIUS_STOPRADIUS_ACCOUNTING_ONRADIUS_ACCOUNTING_OFF
-
RADIUS_ACCT_DELAY_TIME(int) -
Время задержки системы управления учетными данными
-
RADIUS_ACCT_INPUT_OCTETS(int) -
Входящие байты в систему управления учетными данными
-
RADIUS_ACCT_OUTPUT_OCTETS(int) -
Исходящие байты из системы управления учетными данными
-
RADIUS_ACCT_SESSION_ID(int) -
Идентификатор сессии системы управления учетными данными
-
RADIUS_ACCT_AUTHENTIC(int) -
Тип системы управления учетными данными, одна из констант:
RADIUS_AUTH_RADIUSRADIUS_AUTH_LOCALRADIUS_AUTH_REMOTE
-
RADIUS_ACCT_SESSION_TIME(int) -
Время сессии в системе управления учетными данными
-
RADIUS_ACCT_INPUT_PACKETS(int) -
Входящие пакеты в систему управления учетными данными
-
RADIUS_ACCT_OUTPUT_PACKETS(int) -
Исходящие пакеты из системы управления учетными данными
-
RADIUS_ACCT_TERMINATE_CAUSE(int) -
Аварийное завершение сеанса управления учетными данными:
RADIUS_TERM_USER_REQUESTRADIUS_TERM_LOST_CARRIERRADIUS_TERM_LOST_SERVICERADIUS_TERM_IDLE_TIMEOUTRADIUS_TERM_SESSION_TIMEOUTRADIUS_TERM_ADMIN_RESETRADIUS_TERM_ADMIN_REBOOTRADIUS_TERM_PORT_ERRORRADIUS_TERM_NAS_ERRORRADIUS_TERM_NAS_REQUESTRADIUS_TERM_NAS_REBOOTRADIUS_TERM_PORT_UNNEEDEDRADIUS_TERM_PORT_PREEMPTEDRADIUS_TERM_PORT_SUSPENDEDRADIUS_TERM_SERVICE_UNAVAILABLERADIUS_TERM_CALLBACKRADIUS_TERM_USER_ERRORRADIUS_TERM_HOST_REQUEST
-
RADIUS_ACCT_MULTI_SESSION_ID(int) -
Многосессионный идентификатор системы управления учетными данными
-
RADIUS_ACCT_LINK_COUNT(int) -
Количество соединений системы управления учетными данными