enumeración ADS_AUTHENTICATION_ENUM (iads.h)
La enumeración ADS_AUTHENTICATION_ENUM especifica las opciones de autenticación usadas en ADSI para enlazar a objetos de servicio de directorio. Al llamar a IADsOpenDSObject o ADsOpenObject para enlazar a un objeto ADSI, proporcione al menos una de las opciones. En general, los distintos proveedores tendrán implementaciones diferentes. Las opciones documentadas aquí se aplican a los proveedores proporcionados por Microsoft incluidos con el SDK de ADSI. Para obtener más información, consulte Proveedores de sistemas ADSI.
Syntax
typedef enum __MIDL___MIDL_itf_ads_0000_0000_0018 {
ADS_SECURE_AUTHENTICATION = 0x1,
ADS_USE_ENCRYPTION = 0x2,
ADS_USE_SSL = 0x2,
ADS_READONLY_SERVER = 0x4,
ADS_PROMPT_CREDENTIALS = 0x8,
ADS_NO_AUTHENTICATION = 0x10,
ADS_FAST_BIND = 0x20,
ADS_USE_SIGNING = 0x40,
ADS_USE_SEALING = 0x80,
ADS_USE_DELEGATION = 0x100,
ADS_SERVER_BIND = 0x200,
ADS_NO_REFERRAL_CHASING = 0x400,
ADS_AUTH_RESERVED = 0x80000000
} ADS_AUTHENTICATION_ENUM;
Constantes
ADS_SECURE_AUTHENTICATION Valor: 0x1 Solicita autenticación segura. Cuando se establece esta marca, el proveedor winNT usa NT LAN Manager (NTLM) para autenticar al cliente. Active Directory usará Kerberos, y posiblemente NTLM, para autenticar al cliente. Cuando el nombre de usuario y la contraseña son NULL, ADSI se enlaza al objeto mediante la seguridad. contexto del subproceso que realiza la llamada, que es el contexto de seguridad de la cuenta de usuario en la que el la aplicación se está ejecutando o de la cuenta de usuario cliente que representa el subproceso que realiza la llamada. |
ADS_USE_ENCRYPTION Valor: 0x2 Requiere que ADSI use el cifrado para el intercambio de datos a través de la red. Nota El proveedor winNT no admite esta opción. |
ADS_USE_SSL Valor: 0x2 El canal se cifra mediante capa de sockets seguros (SSL). Active Directory requiere que el certificado El servidor debe instalarse para admitir SSL. Si esta marca no se combina con la marca ADS_SECURE_AUTHENTICATION y las credenciales proporcionadas son NULL, el enlace se realizará de forma anónima. Si esta marca se combina con la marca ADS_SECURE_AUTHENTICATION y las credenciales proporcionadas son NULL y, a continuación, se usan las credenciales del subproceso que llama. Nota El proveedor winNT no admite esta opción. |
ADS_READONLY_SERVER Valor: 0x4 No se requiere un controlador de dominio grabable. Si la aplicación solo lee o consulta datos de Active Directory, debe usar esta marca para abrir las sesiones. Esto permite que la aplicación aproveche las ventajas de Read-Only controladores de dominio (RODC). En Windows Server 2008, ADSI intenta conectarse a Read-Only controladores de dominio (RODC) o controladores de dominio grabables. Este permite el uso de un RODC para el acceso y permite que la aplicación se ejecute en una rama o red perimetral. (también conocido como DMZ, zona desmilitarizada y subred filtrada), sin necesidad de conectividad directa con un DC grabable. Para obtener más información sobre la programación para la compatibilidad de RODC, consulte la Guía de compatibilidad de aplicaciones de controladores de dominio de solo lectura. |
ADS_PROMPT_CREDENTIALS Valor: 0x8 Esta marca no se admite. |
ADS_NO_AUTHENTICATION Valor: 0x10 No solicite autenticación. Los proveedores pueden intentar enlazar el cliente, como un usuario anónimo, al objeto de destino. El proveedor winNT no admite esta marca. Active Directory establece una conexión entre el cliente y el objeto de destino, pero no realizarán la autenticación. Establecer esta marca equivale a solicitar un enlace anónimo, que indica a todos los usuarios como contexto de seguridad. |
ADS_FAST_BIND Valor: 0x20 Cuando se establece esta marca, ADSI no intentará consultar el objetoClass y, por tanto, solo expondrá las interfaces base compatibles con todos los objetos ADSI en lugar del objeto completo. Apoyo. Un usuario puede usar esta opción para aumentar el rendimiento en una serie de manipulaciones de objetos que implican solo métodos de las interfaces base. Sin embargo, ADSI no comprobará que ninguno de los objetos solicitados realmente existe en el servidor. Para obtener más información, vea Opciones de enlace rápido para operaciones de escritura y modificación por lotes. Esta opción también es útil para enlazar a servicios de directorio que no son de Active Directory, por ejemplo, Exchange 5.5, donde se produciría un error en la consulta objectClass . |
ADS_USE_SIGNING Valor: 0x40 Comprueba la integridad de los datos. También se debe establecer la marca ADS_SECURE_AUTHENTICATION para usar la firma. Nota El proveedor winNT no admite esta opción. |
ADS_USE_SEALING Valor: 0x80 Cifra los datos utilizando Kerberos. También se debe establecer la marca ADS_SECURE_AUTHENTICATION para utilizar el sellado. Nota El proveedor winNT no admite esta opción. |
ADS_USE_DELEGATION Valor: 0x100 Permite a ADSI delegar el contexto de seguridad del usuario, que es necesario para mover objetos entre dominios. |
ADS_SERVER_BIND Valor: 0x200 Si se pasa un nombre de servidor DNS de Active Directory en la ruta de acceso LDAP, esto fuerza una búsqueda de registros A y omite cualquier búsqueda de registros SRV al resolver el nombre de host. Nota El proveedor winNT no admite esta opción. |
ADS_NO_REFERRAL_CHASING Valor: 0x400 Especifique esta marca para desactivar la búsqueda de referencias durante la vida útil de la conexión. Sin embargo, incluso cuando esta marca se especifica, ADSI todavía permite la configuración del comportamiento de búsqueda de referencias para la enumeración de contenedores cuando se establece. usar ADS_OPTION_REFERRALS en ADS_OPTION_ENUM (como se documenta en la enumeración de contenedores) con el seguimiento de referencia en IADsObjectOptions::SetOption) Y buscar por separado (como se documenta en Búsqueda de referencias con IDirectorySearch). Nota El proveedor winNT no admite esta opción. |
ADS_AUTH_RESERVED Valor: 0x80000000 Reservado. |
Comentarios
La marca de ADS_SECURE_AUTHENTICATION se puede usar en combinación con otras marcas, como ADS_READONLY_SERVER, ADS_PROMPT_CREDENTIALS, ADS_FAST_BIND, etc.
El enlace sin servidor hace referencia a un proceso en el que un cliente intenta enlazar a un objeto de Active Directory sin especificar explícitamente un servidor de Active Directory en la cadena de enlace. Esto es posible porque el proveedor LDAP se basa en los servicios de localizador de Windows para encontrar el mejor controlador de dominio (DC) para el cliente. Sin embargo, el cliente debe tener una cuenta en el controlador de dominio de Active Directory para aprovechar las ventajas de la característica de enlace sin servidor y el controlador de dominio utilizado por un enlace sin servidor siempre se ubicará en el dominio predeterminado; es decir, el dominio asociado al contexto de seguridad actual del subproceso que realiza el enlace.
Dado que VBScript no puede leer datos de una biblioteca de tipos, las aplicaciones vbScript no reconocen las constantes simbólicas como se ha definido anteriormente. Use las constantes numéricas en su lugar para establecer las marcas adecuadas en las aplicaciones VBScript. Para usar las constantes simbólicas como práctica de programación recomendada, escriba declaraciones explícitas de estas constantes, como se hace aquí, en la aplicación De edición Scripting de Visual Basic.
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar IADsOpenDSObject para abrir un objeto en fabrikam con autenticación segura para el proveedor WinNT.
Const ADS_SECURE_AUTHENTICATION = 1
Dim dso As IADsOpenDSObject
Dim domain As IADsDomain
Set dso = GetObject("WinNT:")
Set domain = dso.OpenDSObject("WinNT://Fabrikam", vbNullString, vbNullString, ADS_SECURE_AUTHENTICATION)
En el ejemplo de código siguiente se muestra cómo se usa la marca ADS_SECURE_AUTHENTICATION con ADsOpenObject para validar el usuario enlazado como "JeffSmith". El nombre de usuario puede ser del formato UPN: "JeffSmith@Fabrikam.com", así como el formato de nombre distintivo: "CN=JeffSmith,DC=Fabrikam,DC=COM".
IADs *pObject = NULL;
HRESULT hr;
hr = ADsOpenObject(_bstr_t("LDAP://CN=JeffSmith, DC=fabrikam, DC=com"),
NULL,
NULL,
ADS_SECURE_AUTHENTICATION,
IID_IADs,
(void**) &pObject);
if (hr != S_OK)
{} // Handle open object errors here.
else
{} // Object was retrieved, continue processing here.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista |
Servidor mínimo compatible | Windows Server 2008 |
Encabezado | iads.h |