Сбой функции поиска в группе Active Directory

Помогите! Я'мы пытались написать функцию, которая будет подтверждать пользователяs членство в группе Active Directory, и, хотя оно работает, если член входит в группу, оно выдает исключение, если пользователь не входит.

Вот функция:

private bool IsUserMemberOfGroup(string user, string group)
{
  using (var ctx = new PrincipalContext(ContextType.Domain))
  using (var groupPrincipal = GroupPrincipal.FindByIdentity(ctx, group))
  using (var userPrincipal = UserPrincipal.FindByIdentity(ctx, user))
  {
    if (groupPrincipal == null)
    {
      return false;
    }
    else
    {
      return userPrincipal.IsMemberOf(groupPrincipal);
    }
  }
}

И вот YSOD:

Ошибка сервера в «/» Заявка.Неизвестная ошибка (0x80005000)

Описание:Произошло необработанное исключение во время выполнения текущего веб-запроса. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

Детали исключения:

System.Runtime.InteropServices.COMException: неизвестная ошибка (0x80005000)

Ошибка источника:

<pre> Line 34: else Line 35: { Line 36: return userPrincipal.IsMemberOf(groupPrincipal); Line 37: } Line 38: } </pre>

Я нене знаю, если этосвязаны, но когда я перехожу через функцию, groupPrincipal.Members.Count выдает исключение типа "System.NullReferenceException», с Count.Base показывает исключение с сообщением "Ссылка на объект не установлена на экземпляр объекта ".

Какого черта'происходит? Почему выигралбул по имени IsMemberOf просто вернуть false, когда кто-тоне член?

Спасибо,

Даниил

Ответы на вопрос(3)

Ваш ответ на вопрос