私は私の会社ADを使用しているユーザーを認証するために取り組んでいます。このコードは動作していますが、DirectorySearcherの結果を返すのに25-30秒以上かかります。応答時間を改善するために私は何ができますか?System.DirectoryServicesが遅い
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;
}
}
一つの方法は、ディレクトリ内のユーザーの数を減らすことであろう。 – itsme86