estructura de CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION (credentialprovider.h)
Contiene detalles sobre una credencial.
Sintaxis
typedef struct _CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION {
ULONG ulAuthenticationPackage;
GUID clsidCredentialProvider;
ULONG cbSerialization;
byte *rgbSerialization;
} CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION;
Miembros
ulAuthenticationPackage
Tipo: ULONG
Identificador único del paquete de autenticación. Este parámetro es necesario al llamar a LsaLogonUser. En un escenario de la interfaz de usuario de credenciales, este valor se establece antes de que se envíe una serialización a través de SetSerialization. Esto es lo mismo que el valor del paquete de autenticación devuelto por LsaLookupAuthenticationPackage. Los proveedores de contenido pueden usar este parámetro para determinar si pueden devolver credenciales para este paquete de autenticación. Los desarrolladores que escriben su propio paquete de autenticación pueden proporcionar su propio valor.
clsidCredentialProvider
Tipo: GUID
CLSID del proveedor de credenciales. Los proveedores de credenciales asignan su propio CLSID a este miembro durante la serialización. La interfaz de usuario de credenciales omite este miembro.
cbSerialization
Tipo: ULONG
Tamaño, en bytes, de la credencial a la que apunta rgbSerialization.
rgbSerialization
Tipo: byte*
Matriz de bytes que contiene información de credenciales serializada. El formato exacto de estos datos depende del paquete de autenticación de destino de un proveedor de credenciales.
Comentarios
Una vez que el usuario ha escrito información de credenciales en un icono de credenciales, debe colocarse en un búfer. El empaquetado de esta información se denomina serialización y es necesario independientemente de si el escenario usa una interfaz de usuario de inicio de sesión o una interfaz de usuario de credenciales. El CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION define la estructura para la serialización. Después de la serialización, donde se envía el búfer depende de si se trata de un escenario de interfaz de usuario de inicio de sesión o de interfaz de usuario de credenciales. Con una interfaz de usuario de inicio de sesión, el búfer se pasa a Winlogon. En el escenario de la interfaz de usuario de credenciales, este búfer se devuelve a la aplicación que realiza la llamada que, a continuación, la usa para autenticar al usuario.
Incluso si va a implementar una CREDENTIAL_PROVIDER_USAGE_SCENARIO de CPUS_LOGON, no llama directamente a LsaLogonUser. El sistema controla esa llamada. Solo tienes que pasar tus credenciales a Winlogon.
Las credenciales de entrada pueden tener muchas formas diferentes. Es importante que los proveedores de credenciales sean sólidos al recibir credenciales serializadas. Esto podría incluir credenciales incompletas o parciales. En muchos casos, una credencial de entrada incompleta es una sugerencia sobre qué tipo de credencial quiere el autor de la llamada. Un caso en el que se usa este proceso es con autores de llamadas que solo desean recopilar credenciales de tarjeta inteligente del usuario. Durante el escenario de uso de CPUS_LOGON , el sistema usa SetSerialization para rellenar parte de la información de un equipo remoto. La interfaz de usuario de inicio de sesión llamará a SetSerialization cero o una vez cada ciclo de enumeración.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Encabezado | credentialprovider.h |