ADS_AUTHENTICATION_ENUM énumération (iads.h)

L’énumération ADS_AUTHENTICATION_ENUM spécifie les options d’authentification utilisées dans ADSI pour la liaison aux objets de service d’annuaire. Lorsque vous appelez IADsOpenDSObject ou ADsOpenObject à lier à un objet ADSI, fournissez au moins une des options. En général, les différents fournisseurs auront des implémentations différentes. Les options documentées ici s’appliquent aux fournisseurs fournis par Microsoft inclus avec le KIT de développement logiciel (SDK) ADSI. Pour plus d’informations, consultez Fournisseurs de système 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
Valeur : 0x1
Demande une authentification sécurisée. Lorsque cet indicateur est défini, le fournisseur WinNT utilise NT LAN Manager (NTLM) pour
authentifier le client. Active Directory utilise Kerberos, et éventuellement NTLM, pour authentifier le client. Lorsque le répertoire
le nom d’utilisateur et le mot de passe sont NULL, ADSI se lie à l’objet à l’aide de la sécurité
contexte du thread appelant, qui est le contexte de sécurité du compte d’utilisateur sous lequel
l’application est en cours d’exécution ou du compte d’utilisateur client que représente le thread appelant.
ADS_USE_ENCRYPTION
Valeur : 0x2
Exige qu’ADSI utilise le chiffrement pour l’échange de données sur le réseau.

Note Cette option n’est pas prise en charge par le fournisseur WinNT.

 
ADS_USE_SSL
Valeur : 0x2
Le canal est chiffré à l’aide de SSL (Secure Sockets Layer). Active Directory nécessite que le certificat
Le serveur doit être installé pour prendre en charge SSL.

Si cet indicateur n’est pas combiné avec l’indicateur ADS_SECURE_AUTHENTICATION et
les informations d’identification fournies sont NULL, la liaison est effectuée de manière anonyme. Si cet indicateur
est combiné avec l’indicateur ADS_SECURE_AUTHENTICATION et les informations d’identification fournies sont
NULL, puis les informations d’identification du thread appelant sont utilisées.

Note Cette option n’est pas prise en charge par le fournisseur WinNT.

 
ADS_READONLY_SERVER
Valeur : 0x4
Un contrôleur de domaine accessible en écriture n’est pas requis. Si votre application lit ou interroge uniquement les données à partir d’Active
Vous devez utiliser cet indicateur pour ouvrir les sessions. Cela permet à l’application de tirer parti de
Read-Only contrôleurs de domaine (RODC).

Dans Windows Server 2008, ADSI tente de se connecter à Read-Only contrôleurs de domaine (RODC) ou à des contrôleurs de domaine accessibles en écriture. Cette
autorise l’utilisation d’un rodc pour l’accès et permet à l’application de s’exécuter dans un réseau de branche ou de périmètre
(également appelé DMZ, zone démilitarisée et sous-réseau filtré), sans avoir besoin d’une connectivité directe avec un
contrôleur de domaine accessible en écriture.

Pour plus d’informations sur la programmation pour la compatibilité RODC, consultez le
Guide de compatibilité des applications des contrôleurs de domaine en lecture seule.
ADS_PROMPT_CREDENTIALS
Valeur : 0x8
Cet indicateur n’est pas pris en charge.
ADS_NO_AUTHENTICATION
Valeur : 0x10
Ne demandez aucune authentification. Les fournisseurs peuvent tenter de lier le client, en tant qu’utilisateur anonyme, au
objet cible. Le fournisseur WinNT ne prend pas en charge cet indicateur. Active Directory établit une connexion entre
le client et l’objet ciblé, mais n’effectuera pas d’authentification. La définition de cet indicateur équivaut à demander
liaison anonyme, qui indique tous les utilisateurs comme contexte de sécurité.
ADS_FAST_BIND
Valeur : 0x20
Lorsque cet indicateur est défini, ADSI ne tente pas d’interroger l’objetClass
et expose donc uniquement les interfaces de base prises en charge par tous les objets ADSI au lieu de l’objet complet
Soutien. Un utilisateur peut utiliser cette option pour augmenter les performances dans une série de manipulations d’objets impliquant
uniquement les méthodes des interfaces de base. Toutefois, ADSI ne vérifiera pas que les objets demandés
existent sur le serveur. Pour plus d'informations, consultez la rubrique
Options de liaison rapide pour les opérations d’écriture/modification par lot.

Cette option est également utile pour la liaison à des services d’annuaire non-Active Directory, par exemple Exchange 5.5,
où la requête objectClass échoue.
ADS_USE_SIGNING
Valeur : 0x40
Vérifie l’intégrité des données. L’indicateur ADS_SECURE_AUTHENTICATION doit également être défini
pour utiliser la signature.

Note Cette option n’est pas prise en charge par le fournisseur WinNT.

 
ADS_USE_SEALING
Valeur : 0x80
Chiffre les données à l'aide de Kerberos. L’indicateur ADS_SECURE_AUTHENTICATION doit également être défini
pour utiliser le scellement.

Note Cette option n’est pas prise en charge par le fournisseur WinNT.

 
ADS_USE_DELEGATION
Valeur : 0x100
Permet à ADSI de déléguer le contexte de sécurité utilisateur, ce qui est nécessaire pour déplacer des objets d’un domaine à l’autre.
ADS_SERVER_BIND
Valeur : 0x200
Si un nom de serveur DNS Active Directory est passé dans le chemin LDAP, cela force une recherche d’enregistrement A et
contourne toute recherche d’enregistrement SRV lors de la résolution du nom d’hôte.

Note Cette option n’est pas prise en charge par le fournisseur WinNT.

 
ADS_NO_REFERRAL_CHASING
Valeur : 0x400
Spécifiez cet indicateur pour désactiver la recherche de référence pendant la durée de la connexion. Toutefois, même lorsque cet indicateur
est spécifié, ADSI autorise toujours le paramètre du comportement de recherche de référence pour l’énumération de conteneur lors de la définition
utilisation de ADS_OPTION_REFERRALS dans
ADS_OPTION_ENUM (comme indiqué dans l’énumération de conteneur)
avec référence chassant dans
IADsObjectOptions ::SetOption) Et
recherche séparément (comme indiqué dans
Recherche de références avec IDirectorySearch).

Note Cette option n’est pas prise en charge par le fournisseur WinNT.

 
ADS_AUTH_RESERVED
Valeur : 0x80000000
Réservé.

Remarques

L’indicateur ADS_SECURE_AUTHENTICATION peut être utilisé en combinaison avec d’autres indicateurs tels que ADS_READONLY_SERVER, ADS_PROMPT_CREDENTIALS, ADS_FAST_BIND, etc.

La liaison serverless fait référence à un processus dans lequel un client tente de se lier à un objet Active Directory sans spécifier explicitement de serveur Active Directory dans la chaîne de liaison. Cela est possible, car le fournisseur LDAP s’appuie sur les services de localisation de Windows pour trouver le meilleur contrôleur de domaine (DC) pour le client. Toutefois, le client doit disposer d’un compte sur le contrôleur de domaine Active Directory pour tirer parti de la fonctionnalité de liaison serverless, et le contrôleur de domaine utilisé par une liaison serverless se trouve toujours dans le domaine par défaut ; autrement dit, le domaine associé au contexte de sécurité actuel du thread qui effectue la liaison.

Étant donné que VBScript ne peut pas lire les données d’une bibliothèque de types, les applications VBScript ne reconnaissent pas les constantes symboliques telles que définies ci-dessus. Utilisez plutôt les constantes numériques pour définir les indicateurs appropriés dans vos applications VBScript. Pour utiliser les constantes symboliques comme bonne pratique de programmation, écrivez des déclarations explicites de telles constantes, comme cela est fait ici, dans votre application d’édition visual Basic Scripting.

Exemples

L’exemple de code suivant montre comment utiliser IADsOpenDSObject pour ouvrir un objet sur fabrikam avec une authentification sécurisée pour le fournisseur 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)

L’exemple de code suivant montre comment l’indicateur ADS_SECURE_AUTHENTICATION est utilisé avec ADsOpenObject pour valider l’utilisateur lié comme « JeffSmith ». Le nom d’utilisateur peut être au format UPN : «JeffSmith@Fabrikam.com », ainsi que le format de nom unique : « 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.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista
Serveur minimal pris en charge Windows Server 2008
En-tête iads.h

Voir aussi

Énumérations ADSI

Fournisseurs de système ADSI

ADsOpenObject

IADsAccessControlEntry

IADsOpenDSObject