В настоящее время я использую поисковик каталогов для аутентификации пользователя в AD.
DirectoryEntry adsEntry = new DirectoryEntry(ConfigurationManager.AppSettings["ADConnectionString"], username, password, System.DirectoryServices.AuthenticationTypes.Secure);
DirectorySearcher adsSearcher = new DirectorySearcher(adsEntry);
adsSearcher.Filter = "(sAMAccountName=" + _userName + ")";
SetPropertiesToLoad(ref adsSearcher);
SearchResult adsSearchResult = adsSearcher.FindOne();
Logger.Debug("After adsSearcher.FindOne() success");
if (!ExtractPropertiesReceivedFromAD(adsSearchResult, ref emailAddress, ref _name, username, ref errorMessage))
return false;
Это нормально работает для многих настроек AD, но недавно я обнаружил, что 1 из AD не разрешает подключение к нему.
Мой клиент говорит, что у них установлена аутентификация LDAP, поэтому я не могу напрямую запросить AD, не предоставив учетные данные учетной записи службы.
Таким образом, в этом случае для подключения к AD с использованием LDAP мне нужны 1 учетные данные, а для отправки удостоверения личности пользователя мне нужно его собственное имя пользователя / пароль.
Теперь, как мне справиться с такой ситуацией в DirectorySearcher?