Как получить группы пользователей в Active Directory? - PullRequest
3 голосов
/ 11 октября 2011

Я использую из этого кода:

   List<GroupPrincipal> result = new List<GroupPrincipal>();

   // establish domain context
   PrincipalContext MyDomain = new PrincipalContext(ContextType.Domain);

   // find your user
   UserPrincipal user = UserPrincipal.FindByIdentity(MyDomain , username);

   // if found - grab its groups
   if(user != null)
   {
      PrincipalSearchResult<Principal> groups = user.GetAuthorizationGroups();

      // iterate over all groups
      foreach(Principal p in groups)
      {
         // make sure to add only group principals
         if(p is GroupPrincipal)
         {
             result.Add(p);
         }
      }
   }

но в этой строке (user.GetAuthorizationGroups()) я получил исключение

Этот сервер не работает

Ответы [ 6 ]

1 голос
/ 11 октября 2011

Отметьте, если это может вам помочь http://support.microsoft.com/kb/842789

Обновление:

Откройте Visual Studio как Администратор , а затем откройте свое решение. затем попробуйте еще раз. Я считаю, что ваша проблема из-за разрешения приложения.

1 голос
/ 11 октября 2011

Из того, что я помню, исключение может быть вызвано тем, что доменное имя не может быть разрешено ни с одним доступным DNS.Убедитесь, что это так, и исключение исчезнет.

1 голос
/ 11 октября 2011

В веб-среде:

System.Web.HttpContext.Current.Request.LogonUserIdentity.Groups

или в вашем контексте:

user.GetGroups()

* MSDN 1008 *

0 голосов
/ 28 мая 2014

Одна из групп, которую вы пытаетесь получить, включенная в GetGroups, является группой администраторов и требует специального разрешения.Попробуйте установить имя пользователя / пароль в вашем контексте и использовать getGroups (context)

0 голосов
/ 02 ноября 2011

Я снова устанавливаю Active Directory, и моя проблема решена ...

0 голосов
/ 12 октября 2011

У меня точно такая же проблема, когда я запускаю одну из моих программ с компьютера (dev-компьютера) , который не принадлежит к домену, к которому я обращаюсь. Я имею в виду, что у меня есть контекст, я получил информацию UserPrincipal и у меня та же ошибка, когда я вызываю GetGroups (). Та же программа, запущенная на самом сервере, работает отлично.

Я попытался настроить мой компьютер, на котором был непосредственно настроен домен DNS, в качестве первого DNS, но это было то же самое.

Я попытался жестко настроить адреса домена и DC в файле hosts, но это было то же самое.

Итак, я удаленно отлаживаю свою программу с виртуальной машины, которая была в домене.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...