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

Consulte también

Enumeraciones ADSI

Proveedores del sistema ADSI

ADsOpenObject

IADsAccessControlEntry

IADsOpenDSObject