структура PPP_EAP_INPUT (raseapif.h)
Структура PPP_EAP_INPUT используется во взаимодействии между реализацией PPP службы RAS диспетчер подключений и EAP.
Эта структура предоставляет сведения о пользователях и упрощает использование поставщиков проверки подлинности, таких как сервер RADIUS.
Синтаксис
typedef struct _PPP_EAP_INPUT {
DWORD dwSizeInBytes;
DWORD fFlags;
BOOL fAuthenticator;
WCHAR *pwszIdentity;
WCHAR *pwszPassword;
BYTE bInitialId;
RAS_AUTH_ATTRIBUTE *pUserAttributes;
BOOL fAuthenticationComplete;
DWORD dwAuthResultCode;
HANDLE hTokenImpersonateUser;
BOOL fSuccessPacketReceived;
BOOL fDataReceivedFromInteractiveUI;
PBYTE pDataFromInteractiveUI;
DWORD dwSizeOfDataFromInteractiveUI;
PBYTE pConnectionData;
DWORD dwSizeOfConnectionData;
PBYTE pUserData;
DWORD dwSizeOfUserData;
HANDLE hReserved;
GUID guidConnectionId;
BOOL isVpn;
} PPP_EAP_INPUT, *PPPP_EAP_INPUT;
Члены
dwSizeInBytes
Задает размер структуры PPP_EAP_INPUT в байтах. Значение этого элемента можно использовать для различения текущей и будущих версий этой структуры.
fFlags
Указывает ноль или несколько следующих флагов, которые соответствуют процессу проверки подлинности.
fAuthenticator
Указывает, работает ли протокол проверки подлинности на сервере или клиенте. Значение TRUE указывает, что протокол проверки подлинности работает на сервере в качестве средства проверки подлинности. Значение FALSE указывает, что протокол проверки подлинности работает на клиенте как процесс проверки подлинности.
pwszIdentity
Указатель на строку Юникода, которая идентифицирует пользователя, запрашивающего проверку подлинности. Эта строка имеет вид домен\пользователь или компьютер\пользователь.
Если протокол проверки подлинности может получить удостоверение пользователя из дополнительного источника, например сертификата, он должен убедиться, что производное удостоверение соответствует значению pwszIdentity.
pwszPassword
Указатель на строку Юникода, содержащую пароль учетной записи пользователя. Доступно, только если fAuthenticator имеет значение FALSE. Этот элемент может иметь значение NULL.
bInitialId
Указывает идентификатор исходного пакета EAP, отправленного библиотекой DLL. Это значение увеличивается на единицу для каждого последующего пакета запроса.
pUserAttributes
Указатель на массив RAS_AUTH_ATTRIBUTE структур. Массив завершается структурой с элементом raaType со значением raatMinimum (см . RAS_AUTH_ATTRIBUTE_TYPE). Во время вызова RasEapBegin этот массив содержит атрибуты, описывающие текущего набранного пользователя. Если элемент fAuthenticationComplete имеет значение TRUE, этот массив может содержать атрибуты, возвращаемые поставщиком проверки подлинности.
fAuthenticationComplete
Указывает логическое значение, указывающее, прошел ли поставщик проверки подлинности пользователя. Значение TRUE указывает на завершение проверки подлинности. Проверьте элемент dwAuthResultCode , чтобы определить, прошла ли проверка подлинности успешно. Игнорируйте этот элемент, если протокол проверки подлинности не использует поставщик проверки подлинности.
dwAuthResultCode
Указывает результат процесса проверки подлинности поставщика проверки подлинности. Успешная проверка подлинности приводит к NO_ERROR. Коды сбоев проверки подлинности для dwAuthResultCode должны поступать только из Winerror.h, Raserror.h или Mprerror.h. Игнорируйте это поле, если протокол проверки подлинности не использует поставщик проверки подлинности.
hTokenImpersonateUser
Обработка маркера олицетворения для пользователя, запрашивающего проверку подлинности. Этот элемент действителен только на стороне клиента. Дополнительные сведения о маркерах олицетворения см. в разделе Маркеры доступа.
fSuccessPacketReceived
Указывает, что проверка подлинности прошла успешно. RAS задает этому члену значение TRUE , если клиент получает пакет NCP, даже если клиент еще не получил пакет успешного выполнения EAP. Значение FALSE указывает, что пакет NCP не был получен.
Пакет успешного выполнения EAP — это неподтверждающий пакет. Таким образом, сервер может потерять его и не возмещать. В этом случае получение пакета NCP означает, что проверка подлинности прошла успешно, так как сервер перешел на этап NCP PPP.
Проверьте этот элемент только на стороне клиента.
fDataReceivedFromInteractiveUI
Указывает, доступны ли сведения из интерактивного пользовательского интерфейса. Значение по умолчанию — FALSE. RAS устанавливает для этого члена значение TRUE всякий раз, когда пользователь выходит из интерактивного пользовательского интерфейса протокола проверки подлинности.
pDataFromInteractiveUI
Указатель на данные, полученные из интерактивного пользовательского интерфейса протокола проверки подлинности. Этот указатель не равен NULL , если элемент fDataReceivedFromInteractiveUI имеет значение TRUE и интерактивный пользовательский интерфейс фактически вернул данные. В противном случае этот указатель имеет значение NULL.
Если значение не равно NULL, протокол проверки подлинности должен создать копию данных в собственном пространстве памяти. RAS освобождает память, занятую данными, при возвращении из вызова, в котором была передана структура PPP_EAP_INPUT . Чтобы освободить память, RAS вызывает функцию RasEapFreeMemory .
dwSizeOfDataFromInteractiveUI
Указывает размер (в байтах) данных, на которые указывает pDataFromInteractiveUI. Если данные из интерактивного пользовательского интерфейса не возвращаются, этот элемент равен нулю.
pConnectionData
Указатель на данные подключения, полученные из пользовательского интерфейса конфигурации протокола проверки подлинности. Эти данные доступны только в том случае, если структура PPP_EAP_INPUT передается в RasEapBegin. Он недоступен в вызовах RasEapMakeMessage.
Протокол проверки подлинности должен создавать копию этих данных в собственном пространстве памяти. RAS освобождает память, занятую данными, при возвращении из вызова, в котором была передана структура PPP_EAP_INPUT . Чтобы освободить память, RAS вызывает функцию RasEapFreeMemory .
Если пользовательский интерфейс конфигурации протокола проверки подлинности не возвращает никаких данных, этот элемент имеет значение NULL.
dwSizeOfConnectionData
Указывает размер данных в байтах, на которые указывает pConnectionData. Если pConnectionData имеет значение NULL, этот элемент равен нулю.
pUserData
Указатель на данные пользователя, полученные от функции RasEapGetIdentity протокола проверки подлинности на клиентском компьютере. Если протокол проверки подлинности не реализует RasEapGetIdentity, этот член указывает на данные из реестра для этого пользователя.
Эти данные доступны только в том случае, если структура PPP_EAP_INPUT передается в RasEapBegin. Он недоступен в вызовах RasEapMakeMessage.
Протокол проверки подлинности должен создавать копию этих данных в собственном пространстве памяти. RAS освобождает память, занятую данными, при возвращении из вызова, в котором была передана структура PPP_EAP_INPUT .
Если функция RasEapGetIdentity не реализована или не вернула никаких данных, а данные для пользователя в реестре отсутствуют, этот элемент имеет значение NULL.
dwSizeOfUserData
Задает размер (в байтах) данных, на которые указывает pUserData. Если pUserData имеет значение NULL, этот элемент равен нулю.
hReserved
Этот элемент зарезервирован.
guidConnectionId
isVpn
Комментарии
Структура PPP_EAP_INPUT передается ras в протокол проверки подлинности в вызовах RasEapBegin и RasEapMakeMessage.
Члены pwszIdentity и pwszPassword структуры PPP_EAP_INPUT используются функцией RasEapBegin для получения сведений о пользователе. Член pwszPassword не имеет значения NULL , только если элемент fAuthenticator имеет значение FALSE, то есть протокол проверки подлинности выполняется на клиентском компьютере.
Если протокол проверки подлинности использует поставщик проверки подлинности, например Radius или проверку подлинности домена Windows 2000, для взаимодействия с поставщиком проверки подлинности используются следующие элементы:
pUserAttributesfAuthenticationCompletedwAuthResultCode Обратите внимание, что массив структур RAS_AUTH_ATTRIBUTE передается, только если fAuthenticator имеет значение TRUE. Этот массив содержит сведения о текущем сеансе, такие как идентификатор порта и локальный IP-адрес.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Верхняя часть | raseapif.h |