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.

Importante  

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.

 
I provider di credenziali possono anche enumerare un riquadro delle credenziali se una credenziale di input viene ricevuta da SetSerialization. Un esempio in cui ciò è utile è se un utente fornisce una combinazione di password utente non valida. L'interfaccia utente delle credenziali passerà nuovamente le credenziali al provider di credenziali perché non sono valide. Il provider di credenziali può scegliere di visualizzare un riquadro all'utente che ha già il nome utente compilato.

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