Последовательность вызовов API метода туннеля
В этом разделе рассматривается последовательность вызовов API для методов туннеля
Обзор последовательности вызовов метода туннеля
Когда Supplicant получает запрос на идентификацию пользователя и данные пользователя, обычно возникает следующий поток вызовов API.
- Supplicant вызывает EapHostPeerProcessReceivedPacket в EapHost, чтобы обработать пакет, полученный от аутентификатора.
- При обработке этого пакета EAPHost определяет его как пакет IdentityRequest и вызывает EapPeerGetIdentity в методе туннеля, чтобы получить удостоверение пользователя для проверки подлинности.
- Если метод туннеля должен получить удостоверение пользователя из внутреннего метода, он вызывает EAPHostPeerGetIdentity во внутреннем EAPHost, который, в свою очередь, вызывает EapPeerGetIdentity во внутреннем методе.
Взаимодействие пользователя с потоком вызовов API методов туннеля
В некоторых случаях, когда удостоверение недоступно или когда пользователь должен предоставить дополнительную информацию, метод Eap вызывает диалоговое окно пользовательского интерфейса в запросе.
В таких случаях обычно выполняется следующая последовательность вызовов, чтобы получить информацию непосредственно от пользователя.
Метод Tunnel Eap возвращает код действия для вызова пользовательского интерфейса в EapHost. Supplicant вызывает EapHostPeerGetUIContext, чтобы получить текущие сведения о контексте пользовательского интерфейса для диалогового окна пользовательского интерфейса.
Supplicant затем вызывает EapHostPeerInvokeInteractiveUI. Эта функция использует сведения о контексте пользовательского интерфейса для создания интерактивного пользовательского интерфейса, который используется для получения учетных данных от пользователя. Процесс пользовательского интерфейса загружает Eappcfg.dll и получает указатели на EapPeerInvokeInteractiveUI и EapPeerFreeMemory.
Примечание.
Процесс пользовательского интерфейса обычно собирает пользовательский интерфейс или обрабатывает интерактивный пользовательский интерфейс и отделяется от запрашиваемого процесса. Разделение двух процессов не является требованием EAPHost, но это позволяет процессу пользовательского интерфейса взаимодействовать с рабочим столом.
EapHost вызывает EapPeerInvokeIdentityUI в методе туннеля для получения сведений об удостоверениях пользователя.
Чтобы получить удостоверение пользователя из внутреннего метода, метод туннеля вызывает EapHostPeerInvokeIdentityUI на внутреннем EAPHost.
Inner EAPHost вызывает EapPeerInvokeIdentityUI в внутреннем методе для вызова пользовательского пользовательского интерфейса удостоверения.
EapHostPeerSetUIContext предоставляет новые или обновленные сведения о контексте пользовательского интерфейса для метода однорангового узла EAP, загруженного на EAPHost после создания пользовательского интерфейса.
На следующей схеме объясняется последовательность вызовов API для методов туннеля
См. также