共用方式為


Tunnel 方法 API 呼叫順序

本主題涵蓋 Tunnel 方法的 API 呼叫順序

Tunnel 方法呼叫順序概觀

當 Supplicant 取得使用者身分識別和用戶數據的要求時,通常會發生下列 API 呼叫流程。

  • Supplicant 會呼叫 EapHostPeerProcessReceivedPacket,以處理從驗證器接收的封包。
  • 處理此封包時,EAPHost 會將它判斷為 IdentityRequest 封包,並在通道方法上呼叫 EapPeerGetIdentity ,以取得要用於驗證的使用者身分識別。
  • 如果通道方法需要從內部方法取得使用者身分識別,它會在內部 EAPHost 上呼叫 EAPHostPestPeerGetIdentity,進而在內部方法上呼叫 EapPeerGetIdentity。

使用者與通道方法 API 呼叫流程的互動

在某些情況下,當身分識別無法使用,或用戶必須提供其他資訊時,Eap 方法會在要求者上引發使用者介面對話方塊。

在這種情況下,呼叫順序通常會進行,以直接從使用者取得資訊。

  • Tunnel Eap 方法會傳回動作程序代碼,以叫用UI至 EapHost。 Supplicant 會呼叫 EapHostPeerGetUIContext,以取得使用者介面對話方塊的目前使用者介面內容資訊。

  • Supplicant 接著會呼叫 EapHostPeerInvokeInteractiveUI。 此函式會使用UI內容資訊來引發互動式使用者介面,用來從使用者取得認證資訊。 UI 進程會載入Eappcfg.dll,並取得 EapPeerInvokeInteractiveUI 和 EapPeerFreeMemory 的指標。

    注意

    UI 程式通常會收集UI或處理互動式UI,且與建議程式分開。 分隔這兩個進程並非EAPHost的需求,但這樣做的優點是允許UI進程與桌面互動。

     

  • EapHost 在通道方法上呼叫 EapPeerInvokeIdentityUI ,以取得使用者身分識別資訊。

  • 為了從內部方法取得使用者身分識別,通道方法會在內部 EAPHost 上呼叫 EapHostPeerInvokeIdentityUI

  • 內部 EAPHost 會在內部方法上呼叫 EapPeerInvokeIdentityUI ,以叫用使用者身分識別 UI。

  • EapHostPeerSetUIContext 會在引發 UI 之後,將新的或更新的 UI 內容資訊提供給 EAPHost 上載入的 EAP 對等方法。

下圖說明通道方法的 API 呼叫順序

通道方法 API 呼叫順序

EAPHost 呼叫順序

Supplicant API 呼叫順序

EAPHost Supplicant API 參考