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 |