Я не уверен, что это заходит слишком далеко на территорию системного администратора, но я все равно задам свой вопрос:)
Я занимаюсь разработкой веб-сайта в MVC3.Сайт использует ограниченное делегирование для олицетворения пользователя в домене Windows и подключения к SQL Server под этим пользователем.Все это работает без проблем.
Я пытаюсь получить доступ к свойству «Отображаемое имя» вошедшего в систему имени пользователя (используя следующий код):
string displayName;
var context = new PrincipalContext(ContextType.Domain, "contoso");
var userPrincipal = UserPrincipal.FindByIdentity(context,
IdentityType.SamAccountName,
userName);
displayName = userPrincipal.DisplayName;
Я получаюОшибка операций LDAP:
Сведения об исключении: System.Runtime.InteropServices.COMException: произошла ошибка операций.
System.DirectoryServices.AccountManagement.UserPrincipal.FindByIdentity (контекст PrincipalContext, IdentityType identityType String identityType, String)
Странно то, что:
- Эта операция успешно выполняется на сервере приемочных испытаний (та же конфигурация, тот же домен, тот же пользователь пула приложений, другая машина).
- Эта операция завершается успешно в консольном приложении после использования удаленного рабочего стола для подключения к производственной машине под пользователем, с которым запускается пул приложений ASP.NET.
- Операция завершается с произвольной рабочей станции с нормальнойУчетная запись домена.
- На веб-сайте не удается выполнить операциюПроизводственный сервер.