【发布时间】:2017-08-17 15:49:48
【问题描述】:
我正在努力使用我公司的 AD 对用户进行身份验证。此代码有效,但需要 25-30 多秒才能返回 DirectorySearcher 结果。我可以做些什么来改善它的响应时间?
public bool ADauthentication(string userName,string password)
{
try
{
string domain = ConfigurationManager.AppSettings["DirectoryDomain"];
string path = ConfigurationManager.AppSettings["DirectoryPath"];
string domainAndUserName = domain + @"\" + userName;
DirectoryEntry entry = new DirectoryEntry(path+"CN=Users,DC=myDomain,DC=com", userName, password);
entry.AuthenticationType = AuthenticationTypes.Secure;
DirectorySearcher search = new DirectorySearcher(entry);
search.Filter = "(SAMAccountName=" + userName+")";
search.PropertiesToLoad.Add("CN");
SearchResult result = search.FindOne();
if (result == null)
{
return false;
}
return true;
}
catch(Exception ex)
{
log.Error($"Error: {ex.ToString()}");
return false;
}
}
【问题讨论】:
-
一种方法是减少目录中的用户数量。
标签: c# active-directory directoryservices