structure CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION (credentialprovider.h)
Contient des détails sur les informations d’identification.
Syntaxe
typedef struct _CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION {
ULONG ulAuthenticationPackage;
GUID clsidCredentialProvider;
ULONG cbSerialization;
byte *rgbSerialization;
} CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION;
Membres
ulAuthenticationPackage
Type : ULONG
Identificateur unique du package d’authentification. Ce paramètre est requis lors de l’appel de LsaLogonUser. Dans un scénario d’interface utilisateur d’informations d’identification, cette valeur est définie avant qu’une sérialisation ne soit envoyée via SetSerialization. Il s’agit de la même valeur que la valeur du package d’authentification retournée par LsaLookupAuthenticationPackage. Les fournisseurs de contenu peuvent utiliser ce paramètre pour déterminer s’ils sont en mesure de retourner des informations d’identification pour ce package d’authentification. Les développeurs qui écrivent leur propre package d’authentification peuvent fournir leur propre valeur.
clsidCredentialProvider
Type : GUID
CLSID du fournisseur d’informations d’identification. Les fournisseurs d’informations d’identification attribuent leur propre CLSID à ce membre pendant la sérialisation. L’interface utilisateur des informations d’identification ignore ce membre.
cbSerialization
Type : ULONG
Taille, en octets, des informations d’identification pointées par rgbSerialization.
rgbSerialization
Type : octet*
Tableau d’octets contenant des informations d’identification sérialisées. Le format exact de ces données dépend du package d’authentification ciblé par un fournisseur d’informations d’identification.
Remarques
Une fois que l’utilisateur a entré des informations d’identification dans une vignette d’informations d’identification, elles doivent être placées dans une mémoire tampon. L’empaquetage de ces informations est appelé sérialisation et est nécessaire, que le scénario utilise une interface utilisateur d’ouverture de session ou une interface utilisateur d’informations d’identification. Le CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION définit la structure pour la sérialisation. Après la sérialisation, l’emplacement où la mémoire tampon est envoyée dépend s’il s’agit d’une interface utilisateur d’ouverture de session ou d’un scénario d’interface utilisateur d’informations d’identification. Avec une interface utilisateur de connexion, la mémoire tampon est passée à Winlogon. Dans le scénario d’interface utilisateur des informations d’identification, cette mémoire tampon est retournée à l’application appelante qui l’utilise ensuite pour authentifier l’utilisateur.
Même si vous implémentez une CREDENTIAL_PROVIDER_USAGE_SCENARIO de CPUS_LOGON, vous n’appelez pas directement LsaLogonUser. Cet appel est géré par le système. Il vous suffit de passer vos informations d’identification à Winlogon.
Les informations d’identification d’entrée peuvent prendre différentes formes. Il est important que les fournisseurs d’informations d’identification soient robustes lors de la réception d’informations d’identification sérialisées. Cela peut inclure des informations d’identification incomplètes ou partielles. Dans de nombreux cas, les informations d’identification d’entrée incomplètes sont un indicateur du type d’informations d’identification souhaitées par l’appelant. L’un des cas où ce processus est utilisé concerne les appelants qui souhaitent uniquement collecter des informations d’identification de carte intelligentes auprès de l’utilisateur. Pendant le scénario d’utilisation CPUS_LOGON , le système utilise SetSerialization pour renseigner certaines informations à partir d’un ordinateur distant. L’interface utilisateur de connexion appelle SetSerialization zéro ou une fois chaque cycle d’énumération.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
En-tête | credentialprovider.h |