Active Directory 轻型目录服务如何从 AD DS 获取数据

Active Directory Lightweight Directory Services how to get data from AD DS

我最近才开始使用轻量级目录服务,我已经阅读了很多文章,但我仍然有几个问题。

我的 objective 是使用轻型目录服务对应用程序中的用户进行身份验证。

为了完成 objective,我使用 this 教程安装了轻量级目录服务。

完成教程中的步骤后,我可以使用 ADSI Edit 成功连接到它。

但是,当我开始环顾四周时,我发现这个实例是空的。没有用户对象。

我的产品中安装了完整版的 Active Directory (2008 R2)。如何从完整版获取用户数据到轻量级,以便进行身份验证?

这可以使用我正在采用的方法来完成,还是我误解了轻量级目录服务的概念?

在轻型目录服务中验证用户的概念是否类似于我通过完整版 AD 验证用户的概念,如下面的代码?

public string Authenticate(string username, string pwd)
    {
        string domain = "mydomain";
        using (PrincipalContext ad = new PrincipalContext(ContextType.Domain, domain))
        {
            bool isValid = ad.ValidateCredentials(username, pwd);
            string result = isValid.ToString();
            return result;
        }
    }

注意* 完整的活动目录在生产中位于防火墙后面,而轻量级目录服务位于防火墙另一侧的 DMZ 中。

var fullName = string.Empty;
using (PrincipalContext context = new PrincipalContext(ContextType.Domain))
{
    using (UserPrincipal user = UserPrincipal.FindByIdentity(context,"racerX")) //User.Identity.Name
    {
        if (user != null)
        {
            fullName = user.DisplayName;
        }
    }
}
  • 如果用户在 AD 中,那么您知道他们已经过验证,前提是他们的帐户也得到妥善维护。