Freigeben über


Obtaining Identity Information (Abrufen von Identitätsinformationen)

Der Anbieter, der das Authentifizierungsprotokoll implementiert, kann auch eine Funktionsschnittstelle bereitstellen, die erste Identifizierungsinformationen für den Benutzer abruft, der die Authentifizierung anfordert.

Der Anbieter sollte die folgenden Funktionen implementieren.

Diese Funktionen können in derselben DLL wie das Authentifizierungsprotokoll oder in einer separaten DLL implementiert werden. Außerdem kann die DLL, die die Identitätsfunktionen implementiert, mehrere Authentifizierungsprotokolle unterstützen. Der Pfad zur DLL für diese Funktionen wird im Registrierungswert S_EAP_VALUENAME_IDENTITY unter dem Schlüssel für das Authentifizierungsprotokoll gespeichert. Weitere Informationen zum Erstellen dieses Registrierungswerts finden Sie unter EAP-Installation.

Die RasEapGetIdentity-Funktion zeigt in der Regel eine Benutzeroberfläche (User Interface, UI) an, um Identitätsinformationen für den Benutzer abzurufen. Wenn der dwFlags-Parameter jedoch das RAS_EAP_FLAG_NON_INTERACTIVE-Flag enthält, sollte RasEapGetIdentity keine Benutzeroberfläche anzeigen.

Wenn RasEapGetIdentity eine Benutzeroberfläche anzeigt, muss sie WM_COMMAND-Nachrichten unterstützen, bei denen der Wert von LOWORD (wParam) mit IDCANCEL identisch ist.

Der Authentifizierungsdienst ruft RasEapGetIdentity auf, wenn der Wert RAS_EAP_VALUENAME_INVOKE_NAMEDLG, der sich in der Registrierung für dieses EAP befindet, auf null festgelegt ist. Wenn RAS_EAP_VALUENAME_INVOKE_NAMEDLG nicht vorhanden oder vorhanden und auf eins festgelegt ist, zeigt der Authentifizierungsdienst das Standarddialogfeld für den Systembenutzernamen an.

Zusätzlich zu RAS_EAP_VALUENAME_INVOKE_NAMEDLG kann der EAP-Anbieter in der Registrierung den zugehörigen Wert RAS_EAP_VALUENAME_INVOKE_PWDDLG erstellen. Wenn dieser Wert vorhanden und auf null festgelegt ist, zeigt der Dienst nicht das Standarddialogfeld für das Systemkennwort an. Dieser Wert ist nützlich, wenn eine biometrische Methode wie beispielsweise ein Fingerabdruckscan implementiert wird, um den Benutzer zu authentifizieren. Wenn sowohl der Wert RAS_EAP_VALUENAME_INVOKE_NAMEDLG als auch der Wert RAS_EAP_VALUENAME_INVOKE_PWDDLG null sind, kann eine Identitätsbenutzeroberfläche zum Abrufen der Identitäts- und der biometrischen Informationen verwendet werden. Wenn jedoch nur RAS_EAP_VALUENAME_INVOKE_PWDDLG null ist, ruft der Authentifizierungsdienst RasEapGetIdentity nicht auf. In diesem Fall können Sie die interaktive Benutzeroberfläche verwenden, um die biometrischen Informationen abzurufen.

Weitere Informationen zu diesen Registrierungswerten finden Sie unter Registrierungswerte des Authentifizierungsprotokolls.

Die von RasEapGetIdentity erhaltenen Informationen werden während des Aufrufs von RasEapBegin an das Authentifizierungsprotokoll übergeben. Die Elemente pszIdentity und pUserData derPPP_EAP_INPUT-Struktur verweisen auf diese Informationen. Um diese Informationen in der Registrierung auf dem Clientcomputer zu speichern, sollte das Authentifizierungsprotokoll die Informationen im pEapOutput-Parameter von RasEapMakeMessage zurückgeben.

Nach dem Aufruf von RasEapBegin ruft der Authentifizierungsdienst RasEapFreeMemory auf, um den von diesen Daten belegten Speicher freizugeben. Daher sollte das Authentifizierungsprotokoll die Informationen während des Aufrufs von RasEapBegin in einen privaten Speicherpuffer kopieren.