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 呼叫順序
相關主題