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


Последовательность вызовов 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 для методов туннеля

Последовательность вызовов api методов туннеля

Последовательность вызовов EAPHost

Последовательность вызовов API-супликанта

Справочник по API EAPHost Supplicant