Объекты домена и леса в .NET

Я хотел бы иметь возможность использовать функциональные возможности, предоставляемые этими классами фреймворка, но мне также необходимо убедиться, что установлен флаг проверки подлинности «ReadOnlyServer», поскольку мое приложение будет находиться в среде контроллера домена только для чтения.

Эти объекты инфраструктуры внутренне создают свои собственные объекты DirectoryEntry, но не указывают правильный флаг. Кто-нибудь знает, как заставить .NET использовать разные флаги аутентификации?

В настоящий момент любой вызов Domain.GetCurrentDomain() или Forest.GetCurrentForest() приведет либо к зависанию, либо к сбою моего приложения в среде RODC.


person Ben Cawley    schedule 12.03.2012    source источник


Ответы (1)


Я не знаю, как изменить встроенное поведение. Я предполагаю, что это решение было принято на основе того, что классы поддерживают модификации и не хотят менять их, чтобы иметь возможность гоняться за рефералами или что-то в этом роде. Я бы быстро заглянул на support.microsoft.com и посмотрел, есть ли исправление, которое изменит это поведение.

Вместо этого вам может потребоваться обернуть API-интерфейсы Win32, например. DsGetDcName и используйте эти выходные данные для создания контекста для передачи в Domain.GetDomain().

person Brian Desmond    schedule 12.03.2012
comment
Спасибо, что подтвердили это. На самом деле нам удалось использовать IDsBrowseDomainTree, чтобы позволить пользователю просматривать домены из нашего кода C#. Это предоставляет два метода BrowseTo и GetDomains. В будущем мы можем переписать наш собственный диалог, чтобы использовать IDsBrowseDomainTree.GetDomains() для его заполнения. Таким образом, у нас все еще может быть красиво оформленный диалог. - person Ben Cawley; 15.03.2012