我将 ADLDS 安装在开发机器上,希望能够从 .NET 代码测试身份验证,而无需使用单独的机器(甚至是 VM)运行 Active Directory。一切都很顺利,直到我尝试将用户添加到“域”。以下是我到目前为止所做的:
第一的:已安装适用于 Windows7 的 Active Directory 轻型目录服务 (AD LDS),选中所有类和模块的复选框(抱歉,我记不清向导步骤具体讲了什么)。结果,我能够使用新安装的工具“Active Directory 站点和服务”连接到我的域控制器:
下一个:已安装适用于 Windows 7 Service Pack 1 (SP1) 的远程服务器管理工具。
然后:运行“Active Directory 用户和计算机”管理单元并尝试以“域控制器”身份连接到我的本地计算机。当我这样做时,我得到了以下结果:
但是,当我单击“确定”查看域中的用户时,我得到了……
我知道 ADLDS 是一个轻量级域控制器...它是否太轻量以至于我甚至无法添加用户来测试身份验证?我可以做些什么或向此实例添加什么以使用户可以在 ADLDS 中使用?
答案1
我可以告诉你如何做到这一点(我将在下面这样做),但我首先想尝试告诉你它的缺点。
核心问题是 AD 域与 ADLDS 不同。虽然核心代码库相同(ldap 头、存储、复制器等),但顶层提供的协议套件不同。这就是它给你带来麻烦的地方。很多人会说,如果你在 Windows 上运行应用程序,使用纯 LDAP 绑定作为身份验证形式并不理想……使用 Windows API(例如:LogonUser)是更好的选择。这种依赖关系对于 LDS 来说总是会失败,因为它只是 LDAP 核心,而不是协议套件的其余部分。
话虽如此,但很多事情的工作原理是一样的。因此,只要导入用户架构扩展,您就可以在 LDS 中创建用户。这曾经随 LDS 产品本身一起提供(ms-user.ldf 或类似的东西),因此在您的磁盘上搜索 *ldf 文件,您应该会发现它存在。但是,即使您这样做,也并非所有工具都能正常工作。像上面这样的工具可能会或可能不会,老实说,我再也记不清了。这将是一个半随机的集合。我预测你永远不会完全满意。
这并不是说您的开发工作无法成功……我所做的和您做的一模一样。您只需要学会在没有完整工具集的情况下生存。LDP 和 adsiedit 很快就会成为您的朋友。