Rugalmas API-hívássorozat
Ez a témakör a rugalmas API konkrét hívásütemezését ismerteti.
Rugalmas API-hívássorozat áttekintése
Amikor a supplicant egy EAP-csomagot kap egy szolgáltatótól, például egy hozzáférési ponttól, általában a következő rugalmas API-hívási folyamat következik be.
- Az alkalmazás meghívja EapHostPeerBeginSession EAPHost konfigurációs adatokkal és felhasználói adatokkal. A sikeres hívás egy EAP_SESSION_HANDLE munkamenet-leírót ad vissza.
- A supplicant által fogadott csomagokat az EapHostPeerProcessReceivedPackethívása dolgozza fel. A supplicant ezután meghívja a függvény által visszaadott műveletkódnak megfelelő függvényt.
- Ha a műveletkód EapHostPeerResponseSend, akkor a támadó meghívja EapHostPeerGetSendPacket a hitelesítőnek küldendő válasz lekéréséhez.
- Ha a munkamenet során a supplicantnak visszaadott műveletkód EapHostPeerResponseRespond, az azt jelzi, hogy az EAP-attribútumok elérhetők. A supplicant ezután meghívja EapHostPeerGetResponseAttributes beszerzéséhez. Ezek az attribútumok a hitelesítési folyamat során használt kiegészítő adatokat tartalmaznak. Miután a supplicant befejezte az EapHostPeerSetResponseAttributes által hívott attribútumok feldolgozását, amely frissíti az adatokat. Ez a függvény egy műveleti kódot ad vissza, amely meghatározza a supplicant következő műveletét.
- Ha a műveletkód EapHostPeerResponseInvokeUI a felügyelő létrehoz egy felhasználói felületi párbeszédpanelt, amely interaktív adatokat kér le a felhasználótól, például hitelesítő adatokat vagy identitásadatokat. Lásd alább a Supplicant API hívási folyamatával való felhasználói interakciót.
- Ha a műveletkód EapHostPeerResponseResult, az azt jelzi, hogy a hitelesítési munkamenet eredményei elérhetők a supplicant számára. A supplicant ezután meghívja EapHostPeerGetResult az eredmények beszerzéséhez. Függetlenül attól, hogy az eredmények sikerességet vagy hibát jeleznek-e, a rugalmas hívások EapHostPeerEndSession. Hiba esetén az újrahitelesítés megkísérlhető úgy, hogy megnyit egy másik munkamenetet az EAPHosttal, és új identitást ad meg, vagy újra megkísérli a hitelesítést az eredeti identitással.
Felhasználói interakció a Supplicant API hívási folyamatával
Bizonyos esetekben a kérőnek információt kell beszereznie a felhasználótól a hitelesítési folyamat folytatásához.
Az alábbi lista az interaktív bemenet engedélyezéséhez szükséges rugalmas és EAPHost felhasználói felületi folyamat hívásainak sorrendjét mutatja be.
A supplicant az EapHostPeerGetUIContextmeghívásával szerzi be az aktuális felhasználói felületi környezetet.
A supplicant ezután elküldi a felhasználói felület környezeti adatait a rugalmas felhasználói felületi folyamatnak.
Jegyzet
A felhasználói felületi folyamat, amely általában összegyűjti a felhasználói felületet vagy kezeli az interaktív felhasználói felületet, elkülönül a rugalmas folyamattól. A két folyamat elkülönítése nem követelmény az EAPHost számára, de ennek előnye, hogy lehetővé teszi a felhasználói felületi folyamat számára az asztallal való interakciót.
Ha a supplicant önmagában szeretné renderelni a felhasználói felületet, meghívja a EapHostPeerQueryInteractiveUIInputFields függvényt az interaktív felhasználói felületi összetevők bemeneti mezőinek lekéréséhez. Ellenkező esetben az interaktív felhasználói felület meghívásának hagyományos modelljét követi EapHostPeerInvokeInteractiveUI meghívásával
Jegyzet
Ha EAP_E_EAPHOST_METHOD_OPERATION_NOT_SUPPORTED ad vissza, a kérőnek követnie kell a metódus interaktív felhasználói felületének hagyományos modelljét az EapHostPeerInvokeInteractiveUI meghívásával. Hiba esetén EapHostPeerQueryInteractiveUIInputFields a NULL kivételével egy visszatérési kódot ad vissza.
Függetlenül attól, hogy a rugalmas hívások EapHostPeerQueryInteractiveUIInputFields vagy EaphostPeerInvokeInteractiveUI a felhasználói felületi folyamat átadja a meglévő környezeti adatokat, és betölti Eappcfg.dll. A rendszer megfelelő felhasználói felületet hoz létre az új adatok gyűjtéséhez. A rendszer átmásolja az új felhasználói felület környezeti adatait, amelyek mostantól felhasználói bemenetet tartalmazhatnak, és a régi környezeti adatok az EapPeerFreeMemoryhívásával kerülnek kiadásra.
A felhasználói felületi folyamat visszaadja az új környezeti adatokat a supplicantnak, amely meghívja EapHostPeerSetUIContext beállításához.
Kapcsolódó témakörök