структура PPP_EAP_OUTPUT (raseapif.h)
Протокол проверки подлинности использует структуру PPP_EAP_OUTPUT для передачи запросов и сведений о состоянии диспетчер подключений при возвращении из вызовов RasEapMakeMessage.
Синтаксис
typedef struct _PPP_EAP_OUTPUT {
DWORD dwSizeInBytes;
PPP_EAP_ACTION Action;
DWORD dwAuthResultCode;
RAS_AUTH_ATTRIBUTE *pUserAttributes;
BOOL fInvokeInteractiveUI;
PBYTE pUIContextData;
DWORD dwSizeOfUIContextData;
BOOL fSaveConnectionData;
PBYTE pConnectionData;
DWORD dwSizeOfConnectionData;
BOOL fSaveUserData;
PBYTE pUserData;
DWORD dwSizeOfUserData;
NgcTicketContext *pNgcKerbTicket;
BOOL fSaveToCredMan;
} PPP_EAP_OUTPUT, *PPPP_EAP_OUTPUT;
Члены
dwSizeInBytes
Задает размер этой структуры.
Action
Задает значение PPP_EAP_ACTION . Диспетчер подключений выполняет это действие от имени протокола проверки подлинности.
dwAuthResultCode
Указывает, прошла ли проверка подлинности успешно. Любое ненулевое значение для dwAuthResultCode указывает на сбой. Код сбоя должен поступать из Winerror.h, Raserror.h или Mprerror.h. Этот элемент действителен, только если элемент Action имеет значение EAPACTION_Done или EAPACTION_SendAndDone.
pUserAttributes
Указатель на необязательный массив структур RAS_AUTH_ATTRIBUTE . Массив завершается структурой с элементом raaType со значением raatMinimum (см . RAS_AUTH_ATTRIBUTE_TYPE).
Этот элемент следует задать на стороне средства проверки подлинности, если действие EAPACTION_Authenticate или если действиеEAPACTION_Done или EAPACTION_SendAndDone и dwAuthResultCode равно нулю.
Если действиеEAPACTION_Authenticate, массив может содержать дополнительные атрибуты, необходимые для проверки подлинности пользователя, например пароль пользователя. Если протокол проверки подлинности передает только имя пользователя, RAS не вызывает поставщика проверки подлинности для проверки подлинности пользователя. Вместо этого RAS просто передает текущие атрибуты для пользователя.
Если параметр ActionEAPACTION_Done или EAPACTION_SendAndDone, а dwAuthResultCode равен нулю, массив может содержать дополнительные атрибуты, назначаемые пользователю. Эти атрибуты перезаписывают все атрибуты того же типа, возвращенные поставщиком проверки подлинности.
Протокол проверки подлинности освобождает эту память с помощью функции RasEapEnd .
fInvokeInteractiveUI
Указывает, должен ли RAS вызывать интерактивный пользовательский интерфейс протокола проверки подлинности. Если протокол проверки подлинности задает для этого элемента значение TRUE, RAS вызывает интерактивный пользовательский интерфейс, вызывая функцию RasEapInvokeInteractiveUI , предоставляемую протоколом проверки подлинности.
pUIContextData
Указатель на контекстные данные, которые RAS должен передавать в вызове RasEapInvokeInteractiveUI. Протокол проверки подлинности должен освободить эту память в реализации RasEapEnd.
dwSizeOfUIContextData
Указывает размер данных контекста, которые RAS должен передавать при вызове RasEapInvokeInteractiveUI.
fSaveConnectionData
Указывает, должен ли RAS сохранять сведения, на которые указывает элемент pConnectionData . Если параметр fSaveConnectionData имеет значение TRUE, RAS сохранит данные в телефонной книге. Допустимо только для процесса, который проходит проверку подлинности.
pConnectionData
Определяет данные, относящиеся к подключению, то есть данные, не относящиеся к конкретному пользователю. Если элемент fSaveConnectionData имеет значение TRUE, RAS сохраняет данные подключения в телефонной книге. Протокол проверки подлинности должен освободить память, занятую данными, во время вызова RasEapEnd.
dwSizeOfConnectionData
Задает размер (в байтах) данных, на которые указывает элемент pConnectionData .
fSaveUserData
Указывает, должен ли RAS сохранять пользовательские данные, на которые указывает элемент pUserData . Если этот параметр имеет значение TRUE, RAS-файл сохраняет пользовательские данные в реестре в разделе HKEY_CURRENT_USER.
pUserData
Указатель на пользовательские данные, которые RAS-файл должен сохранить в реестре. RAS сохраняет эти данные в реестре в HKEY_CURRENT_USER. Протокол проверки подлинности должен освободить эту память во время вызова RasEapEnd.
dwSizeOfUserData
Указывает размер данных в байтах, на которые указывает pUserData.
pNgcKerbTicket
fSaveToCredMan
Комментарии
Используйте функцию RasEapMakeMessage для передачи структуры PPP_EAP_OUTPUT между протоколом проверки подлинности и диспетчер подключений.
Протокол проверки подлинности может использовать структуру PPP_EAP_OUTPUT для возврата ключей сеанса шифрования "точка — точка" (Майкрософт) (MPPE). Протокол проверки подлинности должен поместить ключи сеанса в поле значения подаспециализированного атрибута типа raatVendorSpecific (см . RAS_AUTH_ATTRIBUTE_TYPE). Вложенный атрибут должен иметь идентификатор поставщика 311 (Майкрософт) и тип поставщика MS-MPPE-Recv-Keys (17) и MS-MPPE-Send-Keys (16). Протокол проверки подлинности должен задать элемент pUserAttributes , указывающий на атрибут raatVendorSpecific , и задать для элемента Actionзначение EAPACTION_Done или EAPACTION_SendAndDone. Дополнительные сведения о формате вложенного атрибута MPPE см. в разделе Атрибуты RADIUS, относящиеся к поставщику Майкрософт. Дополнительные сведения о форматах атрибутов см . в статье RAS_AUTH_ATTRIBUTE, RAS_AUTH_ATTRIBUTE_TYPE и RFC 2865.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Верхняя часть | raseapif.h |