PPP_EAP_OUTPUT structure (raseapif.h)
Le protocole d’authentification utilise la structure de PPP_EAP_OUTPUT pour communiquer des demandes et des informations status au Gestionnaire des connexions lors du retour d’appels à RasEapMakeMessage.
Syntaxe
typedef struct _PPP_EAP_OUTPUT {
DWORD dwSizeInBytes;
PPP_EAP_ACTION Action;
DWORD dwAuthResultCode;
RAS_AUTH_ATTRIBUTE *pUserAttributes;
BOOL fInvokeInteractiveUI;
PBYTE pUIContextData;
DWORD dwSizeOfUIContextData;
BOOL fSaveConnectionData;
PBYTE pConnectionData;
DWORD dwSizeOfConnectionData;
BOOL fSaveUserData;
PBYTE pUserData;
DWORD dwSizeOfUserData;
NgcTicketContext *pNgcKerbTicket;
BOOL fSaveToCredMan;
} PPP_EAP_OUTPUT, *PPPP_EAP_OUTPUT;
Membres
dwSizeInBytes
Spécifie la taille de cette structure.
Action
Spécifie une valeur PPP_EAP_ACTION . Le Gestionnaire des connexions effectue cette action pour le compte du protocole d’authentification.
dwAuthResultCode
Spécifie si l’authentification a réussi. Toute valeur différente de zéro pour dwAuthResultCode indique un échec. Le code d’échec doit provenir de Winerror.h, Raserror.h ou Mprerror.h. Ce membre est valide uniquement si le membre Action a une valeur de EAPACTION_Done ou EAPACTION_SendAndDone.
pUserAttributes
Pointeur vers un tableau facultatif 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).
Ce membre doit être défini côté authentificateur lorsque Action est EAPACTION_Authenticate, ou lorsque Action est EAPACTION_Done ou EAPACTION_SendAndDone et que dwAuthResultCode est égal à zéro.
Lorsque Action est EAPACTION_Authenticate, le tableau peut contenir des attributs supplémentaires nécessaires pour authentifier l’utilisateur, par exemple le mot de passe utilisateur. Si le protocole d’authentification transmet uniquement le nom d’utilisateur, RAS n’appelle pas le fournisseur d’authentification pour authentifier l’utilisateur. Au lieu de cela, RAS transmet simplement les attributs actuels pour l’utilisateur.
Lorsque Action est EAPACTION_Done ou EAPACTION_SendAndDone et que dwAuthResultCode est égal à zéro, le tableau peut contenir des attributs supplémentaires à affecter à l’utilisateur. Ces attributs remplacent tous les attributs du même type retournés par le fournisseur d’authentification.
Le protocole d’authentification libère cette mémoire dans sa fonction RasEapEnd .
fInvokeInteractiveUI
Spécifie si RAS doit appeler l’interface utilisateur interactive du protocole d’authentification. Si le protocole d’authentification définit ce membre sur TRUE, RAS appelle l’interface utilisateur interactive en appelant la fonction RasEapInvokeInteractiveUI fournie par le protocole d’authentification.
pUIContextData
Pointeur vers les données de contexte que RAS doit passer dans l’appel à RasEapInvokeInteractiveUI. Le protocole d’authentification doit libérer cette mémoire dans son implémentation de RasEapEnd.
dwSizeOfUIContextData
Spécifie la taille des données de contexte que RAS doit passer dans l’appel à RasEapInvokeInteractiveUI.
fSaveConnectionData
Spécifie si RAS doit enregistrer les informations pointées par le membre pConnectionData . Si fSaveConnectionData a la valeur TRUE, RAS enregistre les données dans l’annuaire téléphonique. Valide uniquement pour le processus en cours d’authentification.
pConnectionData
Identifie les données spécifiques à la connexion, c’est-à-dire les données qui ne sont pas spécifiques à un utilisateur particulier. Si le membre fSaveConnectionData a la valeur TRUE, RAS enregistre les données de connexion dans l’annuaire téléphonique. Le protocole d’authentification doit libérer la mémoire occupée par ces données pendant l’appel à RasEapEnd.
dwSizeOfConnectionData
Spécifie la taille, en octets, des données pointées par le membre pConnectionData .
fSaveUserData
Spécifie si RAS doit enregistrer les données utilisateur pointées par le membre pUserData . Si ce paramètre a la valeur TRUE, RAS enregistre les données spécifiques à l’utilisateur dans le Registre sous HKEY_CURRENT_USER.
pUserData
Pointeur vers les données utilisateur que RAS doit enregistrer dans le Registre. RAS enregistre ces données dans le Registre sous HKEY_CURRENT_USER. Le protocole d’authentification doit libérer cette mémoire pendant l’appel à RasEapEnd.
dwSizeOfUserData
Spécifie la taille en octets des données pointées par pUserData.
pNgcKerbTicket
fSaveToCredMan
Remarques
Utilisez la fonction RasEapMakeMessage pour passer la structure PPP_EAP_OUTPUT entre le protocole d’authentification et le Gestionnaire des connexions.
Le protocole d’authentification peut utiliser la structure PPP_EAP_OUTPUT pour retourner les clés de session MPPE (Microsoft Point-to-Point Encryption). Le protocole d’authentification doit placer les clés de session dans le champ de valeur d’un sous-attribut contenu dans le champ de valeur d’un attribut de type raatVendorSpecific (voir RAS_AUTH_ATTRIBUTE_TYPE). Le sous-attribut doit avoir un ID de fournisseur de 311 (Microsoft) et un type de fournisseur de MS-MPPE-Recv-Keys (17) et MS-MPPE-Send-Keys (16). Le protocole d’authentification doit définir le membre pUserAttributes pour qu’il pointe vers l’attribut raatVendorSpecific et définir le membre Actionsur EAPACTION_Done ou EAPACTION_SendAndDone. Pour plus d’informations sur le format du sous-attribut MPPE, consultez Attributs RADIUS spécifiques au fournisseur Microsoft. Pour plus d’informations sur les formats d’attributs, consultez RAS_AUTH_ATTRIBUTE, RAS_AUTH_ATTRIBUTE_TYPE et RFC 2865.
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