Рекурсивная проверка членства в группах Active Directory

Итак, у меня есть вопрос относительно рекурсивных групп в активном каталоге. У меня есть небольшой метод, который проверяет, входит ли идентификатор пользователя в группу или нет. Работает отлично. Сегодня узнал, что он не проверяет рекурсивное членство в группе, и я не слишком уверен, как (или есть ли) способ это сделать. Вот что у меня есть на данный момент для нерекурсивного:

public static bool CheckGroupMembership(string userID, string groupName, string Domain)
{
  bool isMember = false;

  PrincipalContext ADDomain = new PrincipalContext(ContextType.Domain, Domain);
  UserPrincipal user = UserPrincipal.FindByIdentity(ADDomain, userID);

  if (user.IsMemberOf(ADDomain, IdentityType.Name, groupName.Trim()))
  {
    isMember = true;
  }

  return isMember;
}

Я видел кое-что о поисковике каталогов или что-то в этом роде, но я немного новичок в работе непосредственно с AD, и хотя я понимаю концепции, некоторые другие вещи все еще немного потерял меня.

Спасибо!

10
задан Seril 13 April 2012 в 17:50
поделиться