struttura CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION (credentialprovider.h)
Contiene informazioni dettagliate su una credenziale.
Sintassi
typedef struct _CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION {
ULONG ulAuthenticationPackage;
GUID clsidCredentialProvider;
ULONG cbSerialization;
byte *rgbSerialization;
} CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION;
Members
ulAuthenticationPackage
Tipo: ULONG
Identificatore univoco del pacchetto di autenticazione. Questo parametro è obbligatorio quando si chiama LsaLogonUser. In uno scenario dell'interfaccia utente delle credenziali questo valore viene impostato prima dell'invio di una serializzazione tramite SetSerialization. Corrisponde al valore del pacchetto di autenticazione restituito da LsaLookupAuthenticationPackage. I provider di contenuti possono usare questo parametro per determinare se sono in grado di restituire le credenziali per questo pacchetto di autenticazione. Gli sviluppatori che scrivono il proprio pacchetto di autenticazione possono fornire il proprio valore.
clsidCredentialProvider
Tipo: GUID
CLSID del provider di credenziali. I provider di credenziali assegnano il proprio CLSID a questo membro durante la serializzazione. L'interfaccia utente delle credenziali ignora questo membro.
cbSerialization
Tipo: ULONG
Dimensione, in byte, delle credenziali a cui punta rgbSerialization.
rgbSerialization
Tipo: byte*
Matrice di byte contenente informazioni sulle credenziali serializzate. Il formato esatto di questi dati dipende dal pacchetto di autenticazione di destinazione di un provider di credenziali.
Commenti
Dopo che l'utente ha immesso le informazioni sulle credenziali in un riquadro delle credenziali, deve essere inserito in un buffer. La creazione di pacchetti di queste informazioni è detta serializzazione ed è necessaria indipendentemente dal fatto che lo scenario usi un'interfaccia utente di accesso o un'interfaccia utente delle credenziali. Il CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION definisce la struttura per la serializzazione. Dopo la serializzazione, la posizione in cui viene inviato il buffer dipende dal fatto che si tratti di uno scenario di interfaccia utente di accesso o di credenziali. Con un'interfaccia utente di accesso, il buffer viene passato a Winlogon. Nello scenario dell'interfaccia utente delle credenziali questo buffer viene restituito all'applicazione chiamante che la usa per autenticare l'utente.
Anche se si implementa una CREDENTIAL_PROVIDER_USAGE_SCENARIO di CPUS_LOGON, non si chiama direttamente LsaLogonUser. Tale chiamata viene gestita dal sistema. Devi semplicemente passare le tue credenziali a Winlogon.
Le credenziali di input possono accettare molti moduli diversi. È importante che i provider di credenziali siano affidabili durante la ricezione di credenziali serializzate. Ciò può includere credenziali incomplete o parziali. In molti casi, una credenziale di input incompleta è un suggerimento sul tipo di credenziale desiderato dal chiamante. Un caso in cui questo processo viene usato è con i chiamanti che desiderano raccogliere solo le credenziali della smart card dall'utente. Durante lo scenario di utilizzo CPUS_LOGON , il sistema usa SetSerialization per inserire alcune informazioni da un computer remoto. L'interfaccia utente di accesso chiamerà SetSerialization zero o una volta ogni ciclo di enumerazione.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Intestazione | credentialprovider.h |