【发布时间】:2009-12-01 23:39:15
【问题描述】:
在给定用户 ID、域和密码的情况下,我需要验证用户的 Windows 凭据。我们的 Active Directory 包含多个域,我们可以使用以下代码列出其中的一些域:
var domains = System.DirectoryServices.ActiveDirectory.Forest.GetCurrentForest().Domains;
但是,我们也有属于林外域的用户。但是,我可以从全局目录 (GC) 访问它们。下面的代码允许我获取用户 ID 的目录条目。
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 中可供我使用的域的用户?
【问题讨论】:
标签: c# active-directory windows-authentication