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


Получение сведений об удостоверениях

Поставщик, реализующий протокол проверки подлинности, также может предоставить интерфейс функции, который получает начальную идентификацию для запрашиваемой пользователем проверки подлинности.

Поставщик должен реализовать следующие функции.

Эти функции могут быть реализованы в той же библиотеке DLL, что и протокол проверки подлинности, или в отдельной библиотеке DLL. Кроме того, библиотека DLL, реализующая функции идентификации, может поддерживать несколько протоколов проверки подлинности. Путь к библиотеке DLL для этих функций хранится в значении реестра RAS_EAP_VALUENAME_IDENTITY в разделе ключа протокола проверки подлинности. Дополнительные сведения о создании этого значения реестра см. в разделе "Установка EAP".

Функция RasEapGetIdentity обычно отображает пользовательский интерфейс для получения сведений об удостоверениях для пользователя. Однако если параметр dwFlags содержит флаг RAS_EAP_FLAG_NON_INTERACTIVE, RasEapGetIdentity не должен отображать пользовательский интерфейс.

Если RasEapGetIdentity отображает пользовательский интерфейс, пользовательский интерфейс должен поддерживать WM_COMMAND сообщения, в которых значение LOWORD (wParam) равно IDCANCEL.

Служба проверки подлинности вызывает RasEapGetIdentity, если значение RAS_EAP_VALUENAME_INVOKE_NAMEDLG, которое находится в реестре для этого EAP, равное нулю. Если RAS_EAP_VALUENAME_INVOKE_NAMEDLG отсутствует или имеет значение одно, служба проверки подлинности отображает диалоговое окно "Стандартное имя пользователя системы".

Помимо RAS_EAP_VALUENAME_INVOKE_NAMEDLG, поставщик EAP может создать связанное значение, RAS_EAP_VALUENAME_INVOKE_PWDDLG в реестре. Если это значение присутствует и равно нулю, служба не будет отображать диалоговое окно стандартного системного пароля. Это значение полезно при реализации метода биография метрики, например сканирования отпечатков пальцев для проверки подлинности пользователя. Если значения RAS_EAP_VALUENAME_INVOKE_NAMEDLG и RAS_EAP_VALUENAME_INVOKE_PWDDLG равны нулю, пользовательский интерфейс удостоверения можно использовать для получения удостоверений и биография метрических данных. Однако если только RAS_EAP_VALUENAME_INVOKE_PWDDLG равно нулю, служба проверки подлинности не будет вызывать RasEapGetIdentity. В этом случае можно использовать интерактивный пользовательский интерфейс для получения сведений биография метрик.

Дополнительные сведения об этих значениях реестра см. в разделе "Значения реестра протокола проверки подлинности".

Сведения, полученные RasEapGetIdentity, передаются протоколу проверки подлинности во время вызова RasEapBegin. Информация указывает на элементы pszIdentity и pUserData структуры PPP_EAP_INPUT . Чтобы сохранить эти сведения в реестре на клиентском компьютере, протокол проверки подлинности должен возвращать сведения в параметре pEapOutput RasEapMakeMessage.

После вызова RasEapBegin служба проверки подлинности вызывает RasEapFreeMemory, чтобы освободить память, занятую данными. Поэтому протокол проверки подлинности должен скопировать сведения в частный буфер памяти во время вызова RasEapBegin.