Есть ли способ включить отслеживание переходов для UserPrincipal.FindByIdentity ()?

У меня есть веб-приложение .NET 3.5, которое использует классы System.DirectoryServices.AccountManagement. Когда я ищу некоторых пользователей, я получаю PrincipalOperationException: с сервера был возвращен реферал. Если бы я сделал это по-старому со своим собственным кодом LDAP, я мог бы включить преследование рефералов. Нужно ли мне переписывать код?

Мой код выглядит следующим образом:

   using (var principalContext = new PrincipalContext(ContextType.Domain, null, adPath))
    {

        // Find the principal object for which you wish to enumerate group
        // membership.
        using (var userPrincipal = UserPrincipal.FindByIdentity(principalContext, identity))
        {
            if (userPrincipal != null)
            {
                Name = userPrincipal.DisplayName;
                DistinguishedName = userPrincipal.DistinguishedName;
                EmailAddress = userPrincipal.EmailAddress;
                Sid = userPrincipal.Sid.Value;
            }
        }
    }

My adPath может иметь одно из двух значений. Одно из значений - это недавно присоединенный домен, к которому можно получить доступ с помощью различных инструментов. Я считаю, что это проблема того, как эта библиотека .NET выполняет вызовы LDAP.

6
задан LDAP programmer 7 April 2011 в 21:04
поделиться