我做了一些谷歌搜索,然后遇到了这个很有希望的代码
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/