2009-12-01 8 views
2

Je dois authentifier les informations d'identification Windows de l'utilisateur, en lui attribuant un ID utilisateur, un domaine et un mot de passe. Notre Active Directory contient plusieurs domaines, certains que nous pouvons énumérer en utilisant le code suivant:Authentifier l'utilisateur dans le catalogue global

var domains = System.DirectoryServices.ActiveDirectory.Forest.GetCurrentForest().Domains; 

Cependant, nous avons aussi les utilisateurs qui appartiennent à des domaines en dehors de la forêt. Ils me sont toutefois accessibles depuis le catalogue global (GC). Le code ci-dessous me permet d'obtenir une entrée de répertoire pour un ID utilisateur. Comment puis-je authentifier un utilisateur appartenant à un domaine auquel je ne peux pas accéder directement mais qui est disponible dans le GC?

Répondre

3

Vous ne pouvez pas authentifier un utilisateur en regardant dans le catalogue global, c'est uniquement pour la recherche (tout attribut marqué avec le isMemberOfPartialAttributeSet dans le schéma pour chaque domaine est répliqué sur le GC).

Les mots de passe ne sont pas répliqués; sinon, vous auriez les mots de passe de tous les utilisateurs dans le forrest entier sur chaque contrôleur de domaine qui serait très mauvais du point de vue de la sécurité et de la réplication. Vous devez établir une connexion au domaine dans lequel les informations d'identification de l'utilisateur sont stockées (c'est-à-dire que vous devez accéder aux ports LDAP 389 ou 636).

+0

Semble assez raisonnable pour moi de marquer comme une réponse, même si elle n'a pas résolu mon problème. –