我做了一些谷歌搜索,然后遇到了这个很有希望的代码

System.DirectoryServices.AccountManagement.PrincipalContext pc = new System.DirectoryServices.AccountManagement.PrincipalContext(ContextType.Domain, "YOURDOMAIN")
// validate the credentials
bool validatedOnDomain = pc.ValidateCredentials(userName, tb.Text.ToString());


userName初始化为Windows登录名。这也是一个字符串
tb.Text.ToString()是用于输入密码的文本框

更新了代码,它可以正常工作。谢谢大家

MSDN表示PrincipalContext可以使用两个参数

最佳答案

尝试找出该代码。在我的项目中,这很正常。

public bool  ValidateUser(string varDomain, string varUserName, string varPwd)
    {
        Boolean isValidUser;
        using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, varDomain))
        {
            isValidUser = pc.ValidateCredentials(varUserName, varPwd);
        }
        return isValidUser;

    }

关于c# - 针对Active Directory进行身份验证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9296102/

10-09 08:02