PPP_EAP_INPUT structure (raseapif.h)
La structure PPP_EAP_INPUT est utilisée dans l’interaction entre l’implémentation PPP du service RAS Gestionnaire des connexions et l’EAP.
Cette structure fournit des informations sur les utilisateurs et facilite l’utilisation de fournisseurs d’authentification, tels qu’un serveur RADIUS.
Syntaxe
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;
Membres
dwSizeInBytes
Spécifie la taille en octets de la structure PPP_EAP_INPUT . La valeur de ce membre peut être utilisée pour faire la distinction entre les versions actuelles et futures de cette structure.
fFlags
Spécifie zéro ou plusieurs des indicateurs suivants qui qualifient le processus d’authentification.
fAuthenticator
Spécifie si le protocole d’authentification fonctionne sur le serveur ou le client. La valeur TRUE indique que le protocole d’authentification fonctionne sur le serveur en tant qu’authentificateur. La valeur FALSE indique que le protocole d’authentification fonctionne sur le client en tant que processus à authentifier.
pwszIdentity
Pointeur vers une chaîne Unicode qui identifie l’utilisateur qui demande l’authentification. Cette chaîne est de la forme domaine\utilisateur ou machine\utilisateur.
Si le protocole d’authentification est en mesure de dériver l’identité de l’utilisateur à partir d’une source supplémentaire, par exemple un certificat, il doit vérifier que l’identité dérivée correspond à la valeur de pwszIdentity.
pwszPassword
Pointeur vers une chaîne Unicode qui contient le mot de passe du compte de l’utilisateur. Disponible uniquement si fAuthenticator a la valeur FALSE. Ce membre peut être NULL.
bInitialId
Spécifie l’identificateur du paquet EAP initial envoyé par la DLL. Cette valeur est incrémentée d’un pour chaque paquet de requête suivant.
pUserAttributes
Pointeur vers un tableau de structures RAS_AUTH_ATTRIBUTE . Le tableau est terminé par une structure avec un membre raaType dont la valeur est raatMinimum (voir RAS_AUTH_ATTRIBUTE_TYPE). Pendant l’appel RasEapBegin , ce tableau contient des attributs qui décrivent l’utilisateur actuellement composé. Lorsque le membre fAuthenticationComplete a la valeur TRUE, ce tableau peut contenir des attributs retournés par le fournisseur d’authentification.
fAuthenticationComplete
Spécifie une valeur booléenne qui indique si le fournisseur d’authentification a authentifié l’utilisateur. La valeur TRUE indique la fin de l’authentification. Vérifiez le membre dwAuthResultCode pour déterminer si l’authentification a réussi. Ignorez ce membre si le protocole d’authentification n’utilise pas de fournisseur d’authentification.
dwAuthResultCode
Spécifie le résultat du processus d’authentification du fournisseur d’authentification. La réussite de l’authentification entraîne NO_ERROR. Les codes d’échec d’authentification pour dwAuthResultCode doivent provenir uniquement de Winerror.h, Raserror.h ou Mprerror.h. Ignorez ce champ si le protocole d’authentification n’utilise pas de fournisseur d’authentification.
hTokenImpersonateUser
Gérez un jeton d’emprunt d’identité pour l’utilisateur qui demande l’authentification. Ce membre est valide uniquement côté client. Pour plus d’informations sur les jetons d’emprunt d’identité, consultez Jetons d’accès.
fSuccessPacketReceived
Spécifie que l’authentification a réussi. RAS définit ce membre sur TRUE si le client reçoit un paquet NCP (Network Control Protocol) même si le client n’a pas encore reçu de paquet de réussite EAP. La valeur FALSE indique qu’aucun paquet NCP n’a été reçu.
Le paquet de réussite EAP est un paquet non reconnu. Par conséquent, il peut être perdu et ne pas être renvoyé par le serveur. Dans ce cas, la réception d’un paquet NCP indique que l’authentification a réussi, car le serveur est passé à la phase NCP de PPP.
Examinez ce membre uniquement côté client.
fDataReceivedFromInteractiveUI
Spécifie si les informations sont disponibles à partir de l’interface utilisateur interactive. La valeur par défaut est FALSE. RAS définit ce membre sur TRUE chaque fois que l’utilisateur quitte l’interface utilisateur interactive du protocole d’authentification.
pDataFromInteractiveUI
Pointeur vers les données reçues à partir de l’interface utilisateur interactive du protocole d’authentification. Ce pointeur n’est pas NULL si le membre fDataReceivedFromInteractiveUI a la valeur TRUE et que l’interface utilisateur interactive a, en fait, retourné des données. Sinon, ce pointeur est NULL.
S’il n’est pas NULL, le protocole d’authentification doit effectuer une copie des données dans son propre espace mémoire. RAS libère la mémoire occupée par ces données au retour de l’appel dans lequel la structure PPP_EAP_INPUT a été passée. Pour libérer de la mémoire, RAS appelle la fonction RasEapFreeMemory .
dwSizeOfDataFromInteractiveUI
Spécifie la taille, en octets, des données pointées par pDataFromInteractiveUI. Si aucune donnée n’est retournée à partir de l’interface utilisateur interactive, ce membre est égal à zéro.
pConnectionData
Pointeur vers les données de connexion reçues à partir de l’interface utilisateur de configuration du protocole d’authentification. Ces données sont disponibles uniquement lorsque la structure PPP_EAP_INPUT est passée dans RasEapBegin. Il n’est pas disponible dans les appels à RasEapMakeMessage.
Le protocole d’authentification doit effectuer une copie de ces données dans son propre espace mémoire. RAS libère la mémoire occupée par ces données au retour de l’appel dans lequel la structure PPP_EAP_INPUT a été passée. Pour libérer de la mémoire, RAS appelle la fonction RasEapFreeMemory .
Si l’interface utilisateur de configuration du protocole d’authentification ne retourne aucune donnée, ce membre est NULL.
dwSizeOfConnectionData
Spécifie la taille en octets des données pointées par pConnectionData. Si pConnectionData a la valeur NULL, ce membre est égal à zéro.
pUserData
Pointeur vers les données utilisateur reçues de la fonction RasEapGetIdentity du protocole d’authentification sur l’ordinateur client. Si le protocole d’authentification n’implémente pas RasEapGetIdentity, ce membre pointe vers les données du registre pour cet utilisateur.
Ces données sont disponibles uniquement lorsque la structure PPP_EAP_INPUT est passée dans RasEapBegin. Il n’est pas disponible dans les appels à RasEapMakeMessage.
Le protocole d’authentification doit effectuer une copie de ces données dans son propre espace mémoire. RAS libère la mémoire occupée par ces données au retour de l’appel dans lequel la structure PPP_EAP_INPUT a été passée.
Si la fonction RasEapGetIdentity n’est pas implémentée ou n’a pas retourné de données, et qu’il n’existe aucune donnée pour l’utilisateur dans le Registre, ce membre a la valeur NULL.
dwSizeOfUserData
Spécifie la taille, en octets, des données pointées par pUserData. Si pUserData a la valeur NULL, ce membre est égal à zéro.
hReserved
Ce membre est réservé.
guidConnectionId
isVpn
Remarques
La structure PPP_EAP_INPUT est passée par RAS au protocole d’authentification dans les appels à RasEapBegin et RasEapMakeMessage.
Les membres pwszIdentity et pwszPassword de la structure PPP_EAP_INPUT sont utilisés par la fonction RasEapBegin pour obtenir des informations utilisateur. Le membre pwszPassword n’est pas NULL uniquement si le membre fAuthenticator a la valeur FALSE, c’est-à-dire que le protocole d’authentification est en cours d’exécution sur l’ordinateur client.
Si le protocole d’authentification utilise un fournisseur d’authentification, tel que Radius ou l’authentification de domaine Windows 2000, les membres suivants sont utilisés pour interagir avec le fournisseur d’authentification :
pUserAttributesfAuthenticationCompletedwAuthResultCode Notez que le tableau des structures RAS_AUTH_ATTRIBUTE est passé uniquement si fAuthenticator a la valeur TRUE. Ce tableau contient des informations de session actuelles, telles que l’identificateur de port et l’adresse IP locale.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
En-tête | raseapif.h |
Voir aussi
Informations de référence sur le protocole d’authentification extensible