Я борюсь с проблемой при использовании System.DirectoryServices.AccountManagement во внутреннем веб-приложении. Ошибка не очень описательный, но вот что происходит:Ошибка FindByIdentity с PricipalOperationException в ASP.NET webapp
При попытке проверить, что при условии, идентификатор пользователя существует в AD, я сделать это с помощью следующего кода:
private bool IsWindowsIDValid(string strWindowsID)
{
var context = new PrincipalContext(ContextType.Domain, "DOMAINSERVER", "DC=DOMAINNAME,DC=net");
var userPrincipal = UserPrincipal.FindByIdentity(context, strWindowsID);
return (userPrincipal != null);
}
Однако, исключение - это бросок во второй строке, где вызывается FindByIdentity. Ниже приведены данные об исключениях:
Сообщение: «Произошла операционная ошибка».
Стек трассировки:
на System.DirectoryServices.AccountManagement.PrincipalContext.DoLDAPDirectoryInit() в System.DirectoryServices.AccountManagement.PrincipalContext.DoDomainInit() в System.DirectoryServices.AccountManagement.PrincipalContext.Initialize() в System.DirectoryServices.AccountManagement.PrincipalContext.get_QueryCtx() в System.DirectoryServices.AccountManagement.Principal.FindByIdentityWithTypeHelper (PrincipalContext контексте, тип principalType, Nullable`1 IdentityType, струнного identityValue, DateTime refDate) в System.DirectoryServices.AccountManagement.Principal .FindByIdentity WithType (контекст PrincipalContext, тип mainType, String identityValue) в System.DirectoryServices.AccountManagement.UserPrincipal.FindByIdentity (PrincipalContext context, String identityValue) at ***** IsWindowsIDValid (String strWindowsID) в *****. Ascx .cs: строка 193
Эта же ошибка возникает, если я попытаюсь также изучить свойство ConnectedServer для PrincipalContext. Тем не менее, я могу попытаться проверить учетные данные для контекста (используя context.ValidateCredentials()), и он пройдет очень хорошо.
Любые идеи относительно того, что может происходить? Я могу просто запустить этот код в отдельном консольном скрипте на моей машине - это происходит в моей локальной среде разработки внутри VisualStudio при попытке отладки webapp. Это проблема с разрешениями или что-то еще? В этот момент я теряюсь.
Я ценю любую помощь!
-Patrick