У меня есть способ получить список групп AD, к которым принадлежит пользователь. Вот код:Ошибка UserPrincipal.FindByIdentity в Firefox
public static List<GroupPrincipal> GetGroups(string userName)
{
List<GroupPrincipal> result = new List<GroupPrincipal>();
// establish domain context
PrincipalContext yourDomain = new PrincipalContext(ContextType.Domain);
UserPrincipal user = null;
// find your user
user = UserPrincipal.FindByIdentity(yourDomain, userName);
// if found - grab its groups
if (user != null)
{
PrincipalSearchResult<Principal> groups = user.GetGroups();
// iterate over all groups
foreach (Principal p in groups)
{
// make sure to add only group principals
if (p is GroupPrincipal)
{
result.Add((GroupPrincipal)p);
}
}
}
return result;
}
В обоих IE и Chrome, это может работать хорошо, но в Firefox, она всегда дает мне DirectoryServicesCOMException на user = UserPrincipal.FindByIdentity(yourDomain, userName);
я даже не имеют ни малейшего представления, что это за исключением того, что есть. Может кто-нибудь объяснить мне, что такое ошибка и как ее исправить? Спасибо огромное!
Как и в случае теста, попробуйте поместить эту строку внутри 'using (HostingEnvironment.Impersonate()) {...}' вызова и посмотреть, исправляет ли это это. Учетная запись, для которой работает пул приложений, будет иметь доступ к AD. – Pete
Теперь он работает! Спасибо!!! Не могли бы вы объяснить это мне? – user2701646
Почему это работает для IE и Chrome, но не для Firefox? – RobSiklos