CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION-Struktur (credentialprovider.h)
Enthält Details zu Anmeldeinformationen.
Syntax
typedef struct _CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION {
ULONG ulAuthenticationPackage;
GUID clsidCredentialProvider;
ULONG cbSerialization;
byte *rgbSerialization;
} CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION;
Member
ulAuthenticationPackage
Typ: ULONG
Der eindeutige Bezeichner des Authentifizierungspakets. Dieser Parameter ist erforderlich, wenn LsaLogonUser aufgerufen wird. In einem Szenario mit der Benutzeroberfläche für Anmeldeinformationen wird dieser Wert festgelegt, bevor eine Serialisierung über SetSerialization gesendet wird. Dies entspricht dem Wert des Authentifizierungspakets, der von LsaLookupAuthenticationPackage zurückgegeben wird. Inhaltsanbieter können diesen Parameter verwenden, um zu bestimmen, ob sie Anmeldeinformationen für dieses Authentifizierungspaket zurückgeben können. Entwickler, die ihr eigenes Authentifizierungspaket schreiben, können ihren eigenen Wert angeben.
clsidCredentialProvider
Typ: GUID
Die CLSID des Anmeldeinformationsanbieters. Anmeldeinformationsanbieter weisen diesem Member während der Serialisierung ihre eigene CLSID zu. Die Benutzeroberfläche für Anmeldeinformationen ignoriert diesen Member.
cbSerialization
Typ: ULONG
Die Größe der Anmeldeinformationen in Bytes, auf die von rgbSerialization verwiesen wird.
rgbSerialization
Typ: byte*
Ein Bytearray, das serialisierte Anmeldeinformationen enthält. Das genaue Format dieser Daten hängt vom Authentifizierungspaket ab, auf das ein Anmeldeinformationsanbieter abzielt.
Hinweise
Nachdem der Benutzer Anmeldeinformationen in eine Kachel für Anmeldeinformationen eingegeben hat, muss diese in einen Puffer eingefügt werden. Das Packen dieser Informationen wird als Serialisierung bezeichnet und ist unabhängig davon erforderlich, ob das Szenario eine Anmelde-Benutzeroberfläche oder eine Benutzeroberfläche für Anmeldeinformationen verwendet. Die CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION definiert die Struktur für die Serialisierung. Nach der Serialisierung hängt der Speicherort des Puffers davon ab, ob es sich um ein Anmeldebenutzeroberflächen- oder Anmeldeinformations-UI-Szenario handelt. Bei einer Anmelde-Benutzeroberfläche wird der Puffer an Winlogon übergeben. Im Szenario mit der Benutzeroberfläche für Anmeldeinformationen wird dieser Puffer an die aufrufende Anwendung zurückgegeben, die ihn dann zur Authentifizierung des Benutzers verwendet.
Auch wenn Sie eine CREDENTIAL_PROVIDER_USAGE_SCENARIOCPUS_LOGON implementieren, rufen Sie LsaLogonUser nicht direkt auf. Dieser Aufruf wird vom System verarbeitet. Sie müssen lediglich Ihre Anmeldeinformationen an Winlogon übergeben.
Eingabeanmeldeinformationen können viele verschiedene Formen annehmen. Es ist wichtig, dass Anmeldeinformationsanbieter beim Empfangen serialisierter Anmeldeinformationen robust sind. Dies kann unvollständige oder teilweise Anmeldeinformationen umfassen. In vielen Fällen ist eine unvollständige Eingabeanmeldeinformation ein Hinweis darauf, welche Art von Anmeldeinformationen der Aufrufer möchte. Ein Fall, in dem dieser Prozess verwendet wird, ist mit Anrufern, die nur smarte Karte Anmeldeinformationen vom Benutzer sammeln möchten. Während des CPUS_LOGON Verwendungsszenarios verwendet das System SetSerialization , um einige der Informationen von einem Remotecomputer einzugeben. Die Anmeldeoberfläche ruft SetSerialization null oder einmal pro Enumerationszyklus auf.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Kopfzeile | credentialprovider.h |