Поделиться через


структура RADIUS_EXTENSION_CONTROL_BLOCK (authif.h)

Примечание Служба проверки подлинности в Интернете (IAS) была переименована в сервер политики сети (NPS), начиная с Windows Server 2008. Содержание этого раздела относится как к IAS, так и к NPS. В тексте NPS используется для обозначения всех версий службы, включая версии, изначально называемые IAS.
 
Структура RADIUS_EXTENSION_CONTROL_BLOCK предоставляет сведения о текущем запросе RADIUS. Он также предоставляет функции для получения атрибутов, связанных с запросом, и для настройки ликвидации запроса.

Синтаксис

typedef struct _RADIUS_EXTENSION_CONTROL_BLOCK {
  DWORD                    cbSize;
  DWORD                    dwVersion;
  RADIUS_EXTENSION_POINT   repPoint;
  RADIUS_CODE              rcRequestType;
  RADIUS_CODE              rcResponseType;
  PRADIUS_ATTRIBUTE_ARRAY()(_RADIUS_EXTENSION_CONTROL_BLOCK *This) * GetRequest;
  PRADIUS_ATTRIBUTE_ARRAY()(_RADIUS_EXTENSION_CONTROL_BLOCK *This,RADIUS_CODE rcResponseType) * GetResponse;
  DWORD()(_RADIUS_EXTENSION_CONTROL_BLOCK *This,RADIUS_CODE rcResponseType)                   * SetResponseType;
} RADIUS_EXTENSION_CONTROL_BLOCK, *PRADIUS_EXTENSION_CONTROL_BLOCK;

Члены

cbSize

Задает размер структуры.

dwVersion

Указывает версию структуры.

repPoint

Задает значение типа RADIUS_EXTENSION_POINT , указывающее, в какой момент в процессе запроса был вызван RadiusExtensionProcess2 .

rcRequestType

Задает значение типа RADIUS_CODE , указывающее тип запроса RADIUS, полученного сервером службы проверки подлинности в Интернете.

rcResponseType

Задает значение типа RADIUS_CODE , указывающее ликвидацию запроса RADIUS.

GetRequest

Указатель на функцию GetRequest , предоставляемую NPS. NPS задает значение этого элемента.

Функция GetRequest возвращает атрибуты, полученные в процессе запроса RADIUS, и все внутренние атрибуты, описывающие состояние запроса.

Библиотека DLL расширения может изменять атрибуты в запросе RADIUS. Например, если NPS выступает в качестве прокси-сервера RADIUS, библиотека DLL расширения может фильтровать, какие атрибуты перенаправляются на удаленный сервер RADIUS.

Чтобы изменить атрибуты, библиотека DLL расширения использует функции, предоставляемые в качестве членов структуры RADIUS_ATTRIBUTE_ARRAY .

This

Указатель на структуру RADIUS_EXTENSION_CONTROL_BLOCK . NPS передает библиотеке DLL расширения указатель на эту структуру при вызове структуры RadiusExtensionProcess2 .

GetResponse

Указатель на функцию GetResponse , предоставляемую NPS. NPS задает значение этого элемента.

Функция GetRequest возвращает атрибуты, полученные в процессе запроса RADIUS, и все внутренние атрибуты, описывающие состояние запроса.

Библиотека DLL расширения может использовать GetResponse для получения и изменения атрибутов для любого допустимого типа ответа независимо от текущей ликвидации запроса. Например, библиотека DLL расширения может задать тип ответа rcAccessAccept, но по-прежнему добавлять атрибуты к тем, которые возвращаются в случае rcAccessReject. Ответ, указанный библиотекой DLL расширения (rcAccessAccept в этом примере), может быть переопределен во время дальнейшей обработки.

Чтобы изменить атрибуты, библиотека DLL расширения использует функции, предоставляемые в качестве членов структуры RADIUS_ATTRIBUTE_ARRAY .

This

Указатель на структуру RADIUS_EXTENSION_CONTROL_BLOCK . NPS передает библиотеке DLL расширения указатель на эту структуру при вызове функции RadiusExtensionProcess2 .

rcResponseType

Указывает тип ответа. Этот параметр должен быть одним из значений, перечисляемых типом перечисления RADIUS_CODE . В противном случае функция завершается сбоем, возвращая значение NULL.

SetResponseType

Указатель на функцию SetResponseType , предоставляемую NPS. NPS задает значение этого элемента.

Функция SetResponseType задает окончательную ликвидацию запроса.

Обратите внимание, что ликвидацию, заданную библиотекой DLL расширения, можно переопределить во время дальнейшей обработки. Например, библиотека DLL расширения может задать для типа ответа rcAccessAccept, но во время дальнейшей обработки ответ можно изменить на rcAccessReject.

This

Указатель на структуру RADIUS_EXTENSION_CONTROL_BLOCK . NPS передает библиотеке DLL расширения указатель на эту структуру при вызове функции RadiusExtensionProcess2 .

rcResponseType

Указывает тип ответа. Этот параметр должен быть одним из значений, содержащихся в RADIUS_CODE перечислимом типе, и связан с элементом rcRequestTypeструктуры RADIUS_EXTENSION_CONTROL_BLOCK . Если параметр rcRequestType равен rcAccessRequest, это может быть значение rcAccessAccept, rcAccessReject, rcAccessChallenge или rcDiscard. Если rcRequestType равно rcAccountingRequest, это значение может быть rcAccountingResponse или rcDiscard. В противном случае функция завершается сбоем, возвращая ERROR_INVALID_PARAMETER.

Комментарии

Библиотека DLL расширения не должна изменять эту структуру. Изменения в массив атрибутов следует вносить путем вызова функций, предоставленных в качестве членов этой структуры.

NPS передает эту структуру в библиотеку DLL расширения, когда вызывает реализацию RadiusExtensionProcess2 в библиотеке DLL расширения.

Требования

Требование Значение
Минимальная версия клиента Ни одна версия не поддерживается
Минимальная версия сервера Windows Server 2008
Верхняя часть authif.h

См. также раздел

GetRequest

Getresponse

RADIUS_ATTRIBUTE_ARRAY

SetResponseType