Доступ к Active Directory в ASP.NET?
Я использую консольное приложение, чтобы написать тестовый код:
/// <summary>
/// Returns AD information for a specified userID.
/// </summary>
/// <param name="ntID"></param>
/// <returns></returns>
public ADUser GetUser(string ntID)
{
DirectorySearcher search = new DirectorySearcher();
search.Filter = String.Format("(cn={0})", ntID);
search.PropertiesToLoad.Add("mail");
search.PropertiesToLoad.Add("givenName");
search.PropertiesToLoad.Add("sn");
search.PropertiesToLoad.Add("displayName");
search.PropertiesToLoad.Add("userPrincipalName");
search.PropertiesToLoad.Add("cn");
SearchResult result = search.FindOne();
return new ADUser(result);
}
И это работало нормально из консольного приложения. Однако, когда я переместил его в приложение ASP.NET, я получил сообщение об ошибке о том, что он не знает правильный домен.
Есть ли хитрость, которой мне не хватает для доступа к AD при работе с учетной записью ASPNET?
РЕДАКТИРОВАТЬ: Передача только строки подключения LDAP: // недостаточно, так как для этого требуется фактический логин / пароль. Поскольку это выполняется на локальной учетной записи на компьютере, я не уверен, какой AD L / P использовать. Можно ли как-то делегировать доступ к учетной записи пользователя?
РЕДАКТИРОВАТЬ № 2: При попытке использовать олицетворение личности я получаю исключение DirectoryServicesCOME с:
Механизм аутентификации неизвестен.