Мне нужно аутентифицировать учетные данные пользователя Windows, учитывая пользовательский домен, домен и пароль. Наш Active Directory содержит несколько доменов, некоторые из которых мы можем перечислить используя следующий код:Аутентификация пользователя в глобальном каталоге
var domains = System.DirectoryServices.ActiveDirectory.Forest.GetCurrentForest().Domains;
Однако, у нас также есть пользователи, которые принадлежат к доменам вне леса. Однако они доступны мне из Глобального каталога (GC). Ниже код позволяет мне получить запись каталога для идентификатора пользователя.
System.DirectoryServices.DirectoryEntry globalCatalogDE = new System.DirectoryServices.DirectoryEntry("GC://DC=nsroot,DC=net");
var ds = new System.DirectoryServices.DirectorySearcher(globalCatalogDE);
ds.Filter = "(&(objectClass=user)(sAMAccountName=" + userId + "))";
System.DirectoryServices.DirectoryEntry userDE = ds.FindAll()[0].GetDirectoryEntry();
Как аутентифицировать пользователя, принадлежащего домену, к которому я не могу напрямую обращаться, но доступен мне в GC?
Звучит достаточно разумно для меня, чтобы отметить как ответ, даже если он не решит мою проблему. –