这篇文章主要介绍了详解C#使用AD(Active Directory)验证内网用户名密码的相关资料,希望通过本文能帮助到大家,让大家实现这样的功能,需要的朋友可以参考下
详解C#使用AD(Active Directory)验证内网用户名密码
1. 连到内网,找到AD的domain地址
nslookup
set types=all
_ldap._tcp
2. 验证AD的函数
public bool ADLogin(string userName, string password)
{
// sample :
// LDAP://xxx.com
string domain = System.Configuration.ConfigurationManager.AppSettings["AD_Domain"];
try
{
DirectoryEntry entry = new DirectoryEntry(domain, userName, password);
object obj = entry.NativeObject;
DirectorySearcher search = new DirectorySearcher(entry);
search.Filter = string.Format("(SAMAccountName={0})", userName);
search.PropertiesToLoad.Add("cn");
SearchResult result = search.FindOne();
if (result == null)
return false;
}
catch (Exception ex)
{
log.Error(ex);
return false;
}
return true;
}
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!