PPP_EAP_INPUT Struktur (raseapif.h)
Die PPP_EAP_INPUT-Struktur wird in der Interaktion zwischen der RAS Verbindungs-Manager Service PPP-Implementierung und dem EAP verwendet.
Diese Struktur stellt Benutzerinformationen bereit und erleichtert die Verwendung von Authentifizierungsanbietern, z. B. einem RADIUS-Server.
Syntax
typedef struct _PPP_EAP_INPUT {
DWORD dwSizeInBytes;
DWORD fFlags;
BOOL fAuthenticator;
WCHAR *pwszIdentity;
WCHAR *pwszPassword;
BYTE bInitialId;
RAS_AUTH_ATTRIBUTE *pUserAttributes;
BOOL fAuthenticationComplete;
DWORD dwAuthResultCode;
HANDLE hTokenImpersonateUser;
BOOL fSuccessPacketReceived;
BOOL fDataReceivedFromInteractiveUI;
PBYTE pDataFromInteractiveUI;
DWORD dwSizeOfDataFromInteractiveUI;
PBYTE pConnectionData;
DWORD dwSizeOfConnectionData;
PBYTE pUserData;
DWORD dwSizeOfUserData;
HANDLE hReserved;
GUID guidConnectionId;
BOOL isVpn;
} PPP_EAP_INPUT, *PPPP_EAP_INPUT;
Member
dwSizeInBytes
Gibt die Größe der PPP_EAP_INPUT-Struktur in Bytes an. Der Wert dieses Members kann verwendet werden, um zwischen aktuellen und zukünftigen Versionen dieser Struktur zu unterscheiden.
fFlags
Gibt mindestens null der folgenden Flags an, die den Authentifizierungsprozess qualifizieren.
fAuthenticator
Gibt an, ob das Authentifizierungsprotokoll auf dem Server oder Client ausgeführt wird. Der Wert TRUE gibt an, dass das Authentifizierungsprotokoll auf dem Server als Authentifikator ausgeführt wird. Der Wert FALSE gibt an, dass das Authentifizierungsprotokoll auf dem Client als zu authentifizierter Prozess ausgeführt wird.
pwszIdentity
Zeiger auf eine Unicode-Zeichenfolge, die den Benutzer identifiziert, der die Authentifizierung anfordert. Diese Zeichenfolge entspricht dem Formular domäne\user or machine\user.
Wenn das Authentifizierungsprotokoll in der Lage ist, die Identität des Benutzers von einer zusätzlichen Quelle, z. B. einem Zertifikat, abzuleiten, sollte es überprüfen, ob die abgeleitete Identität mit dem Wert von pwszIdentity übereinstimmt.
pwszPassword
Zeiger auf eine Unicode-Zeichenfolge, die das Kontokennwort des Benutzers enthält. Nur verfügbar, wenn fAuthenticatorFALSE ist. Dieses Element kann NULL sein.
bInitialId
Gibt den Bezeichner des anfänglichen EAP-Pakets an, das von der DLL gesendet wurde. Dieser Wert wird für jedes nachfolgende Anforderungspaket um eins erhöht.
pUserAttributes
Zeiger auf ein Array von RAS_AUTH_ATTRIBUTE Strukturen. Das Array wird durch eine Struktur mit einem raaType-Member beendet, das den Wert raatMinimum aufweist (siehe RAS_AUTH_ATTRIBUTE_TYPE). Während des RasEapBegin-Aufrufs enthält dieses Array Attribute, die den aktuell eingewählten Benutzer beschreiben. Wenn das fAuthenticationComplete-ElementTRUE ist, kann dieses Array Attribute enthalten, die vom Authentifizierungsanbieter zurückgegeben werden.
fAuthenticationComplete
Gibt einen booleschen Wert an, der angibt, ob der Authentifizierungsanbieter den Benutzer authentifiziert hat. Der Wert TRUE gibt an, dass die Authentifizierung abgeschlossen ist. Überprüfen Sie das dwAuthResultCode-Element , um festzustellen, ob die Authentifizierung erfolgreich war. Ignorieren Sie diesen Member, wenn das Authentifizierungsprotokoll keinen Authentifizierungsanbieter verwendet.
dwAuthResultCode
Gibt das Ergebnis des Authentifizierungsprozesses des Authentifizierungsanbieters an. Eine erfolgreiche Authentifizierung führt zu NO_ERROR. Authentifizierungsfehlercodes für dwAuthResultCode dürfen nur von Winerror.h, Raserror.h oder Mprerror.h stammen. Ignorieren Sie dieses Feld, wenn das Authentifizierungsprotokoll keinen Authentifizierungsanbieter verwendet.
hTokenImpersonateUser
Behandeln Sie ein Identitätswechseltoken für den Benutzer, der die Authentifizierung anfordert. Dieser Member ist nur auf der Clientseite gültig. Weitere Informationen zu Identitätswechseltoken finden Sie unter Zugriffstoken.
fSuccessPacketReceived
Gibt an, dass die Authentifizierung erfolgreich war. RAS legt diesen Member auf TRUE fest, wenn der Client ein NCP-Paket (Network Control Protocol) empfängt, obwohl der Client noch kein EAP-Erfolgspaket erhalten hat. Der Wert FALSE gibt an, dass kein NCP-Paket empfangen wurde.
Das EAP-Erfolgspaket ist ein nicht bestätigtes Paket. Aus diesem Grund kann es verloren und nicht vom Server erneut erfolgen. In dieser Situation gibt der Empfang eines NCP-Pakets an, dass die Authentifizierung erfolgreich war, da der Server in die NCP-Phase von PPP übergegangen ist.
Untersuchen Sie dieses Element nur auf der Clientseite.
fDataReceivedFromInteractiveUI
Gibt an, ob Informationen über die interaktive Benutzeroberfläche verfügbar sind. Der Standardwert ist FALSE. RAS legt diesen Member auf TRUE fest, wenn der Benutzer die interaktive Benutzeroberfläche des Authentifizierungsprotokolls verlässt.
pDataFromInteractiveUI
Zeiger auf Daten, die von der interaktiven Benutzeroberfläche des Authentifizierungsprotokolls empfangen werden. Dieser Zeiger ist nicht NULL , wenn das fDataReceivedFromInteractiveUI-ElementTRUE ist und die interaktive Benutzeroberfläche tatsächlich Daten zurückgegeben hat. Andernfalls ist dieser Zeiger NULL.
Wenn kein NULL-Wert besteht, sollte das Authentifizierungsprotokoll eine Kopie der Daten in seinem eigenen Speicherplatz erstellen. RAS gibt den von diesen Daten belegten Arbeitsspeicher frei, wenn der Aufruf zurückgegeben wird, in dem die PPP_EAP_INPUT Struktur übergeben wurde. Um den Arbeitsspeicher freizugeben, ruft RAS die RasEapFreeMemory-Funktion auf .
dwSizeOfDataFromInteractiveUI
Gibt die Größe der Daten in Bytes an, auf die von pDataFromInteractiveUI verwiesen wird. Wenn keine Daten von der interaktiven Benutzeroberfläche zurückgegeben werden, ist dieser Member 0.
pConnectionData
Zeiger auf Verbindungsdaten, die von der Konfigurationsbenutzerschnittstelle des Authentifizierungsprotokolls empfangen werden. Diese Daten sind nur verfügbar, wenn die PPP_EAP_INPUT-Struktur in RasEapBegin übergeben wird. Sie ist in Aufrufen von RasEapMakeMessage nicht verfügbar.
Das Authentifizierungsprotokoll sollte eine Kopie dieser Daten im eigenen Speicherplatz erstellen. RAS gibt den von diesen Daten belegten Arbeitsspeicher frei, wenn der Aufruf zurückgegeben wird, in dem die PPP_EAP_INPUT Struktur übergeben wurde. Um den Arbeitsspeicher freizugeben, ruft RAS die RasEapFreeMemory-Funktion auf .
Wenn die Konfigurationsbenutzerschnittstelle des Authentifizierungsprotokolls keine Daten zurückgibt, ist dieser Member NULL.
dwSizeOfConnectionData
Gibt die Größe der Daten in Bytes an, auf die von pConnectionData verwiesen wird. Wenn pConnectionDataNULL ist, ist dieser Member 0.
pUserData
Zeiger auf Benutzerdaten, die von der RasEapGetIdentity-Funktion des Authentifizierungsprotokolls auf dem Clientcomputer empfangen wurden. Wenn das Authentifizierungsprotokoll RasEapGetIdentity nicht implementiert, verweist dieses Mitglied auf Daten aus der Registrierung für diesen Benutzer.
Diese Daten sind nur verfügbar, wenn die PPP_EAP_INPUT-Struktur in RasEapBegin übergeben wird. Sie ist in Aufrufen von RasEapMakeMessage nicht verfügbar.
Das Authentifizierungsprotokoll sollte eine Kopie dieser Daten im eigenen Speicherplatz erstellen. RAS gibt den von diesen Daten belegten Arbeitsspeicher frei, wenn der Aufruf zurückgegeben wird, in dem die PPP_EAP_INPUT Struktur übergeben wurde.
Wenn die RasEapGetIdentity-Funktion nicht implementiert ist oder keine Daten zurückgegeben hat und keine Daten für den Benutzer in der Registrierung vorhanden sind, ist dieser Member NULL.
dwSizeOfUserData
Gibt die Größe der Daten in Bytes an, auf die von pUserData verwiesen wird. Wenn pUserDataNULL ist, ist dieser Member 0.
hReserved
Dieser Member ist reserviert.
guidConnectionId
isVpn
Hinweise
Die PPP_EAP_INPUT-Struktur wird von RAS in Aufrufen von RasEapBegin und RasEapMakeMessage an das Authentifizierungsprotokoll übergeben.
Die Elemente pwszIdentity und pwszPassword der PPP_EAP_INPUT-Struktur werden von der RasEapBegin-Funktion zum Abrufen von Benutzerinformationen verwendet. Das pwszPassword-Element ist nur dann ungleich NULL , wenn der fAuthenticator-MemberFALSE ist, d. h. das Authentifizierungsprotokoll wird auf dem Clientcomputer ausgeführt.
Wenn das Authentifizierungsprotokoll einen Authentifizierungsanbieter verwendet, z. B. Radius- oder Windows 2000-Domänenauthentifizierung, werden die folgenden Member für die Schnittstelle mit dem Authentifizierungsanbieter verwendet:
pUserAttributesfAuthenticationCompletedwAuthResultCode Beachten Sie, dass das Array der RAS_AUTH_ATTRIBUTE-Strukturen nur übergeben wird, wenn fAuthenticatorden Wert TRUE aufweist. Dieses Array enthält aktuelle Sitzungsinformationen wie Portbezeichner und lokale IP-Adresse.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Kopfzeile | raseapif.h |