Я использую класс System.DirectoryServices.AccountManagement для запросов к Active Directory.
Я могу запросить домен, используя разные контексты, но для каждого найденного примера требуется доменное имя.
string domain = "MYDOMAIN";
PrincipalContext ctx= new PrincipalContext(ContextType.Domain, domain);
Обычно это не будет проблемой, однако у нас есть пользователи, которые существуют на поддомене. Я нашел способ поиска информации об их аккаунте, проанализировав информацию о домене из их user.identity.name.
string loggedUser = User.Identity.Name;
string domain = loggedUser.Split(new char { '\\' })[0];
PrincipalContext ctx = new PrincipalContext(ContextType.Domain, domain);
using (ctx) {
// Do searches, etc. here
}
Мы надеялись переключиться на использование идентификаторов GUID в качестве нашего уникального идентификатора, поскольку я считаю, что идентификаторы GUID уникальны для всех доменов, тогда как имена могут изменяться (браки, разводы и т.
Используя старый веб-сервис поиска каталогов, мы можем запрашивать Глобальный каталог (GC) и находить пользователя независимо от его домена или субдомена, поскольку домены являются доверенными ... Я ищу то же самое «особенность» поиска GC с использованием нового класса S.DS.AM 3.5. Это вообще возможно?