У меня есть код, который проверяет Active Directory
для всех групп, членом которых является пользователь, это прекрасно работает локально в моей среде разработки, но не при отправке в тестовую систему.Группы Active Directory не возвращаются
Один сожитель предположил, что, возможно, учетная запись, в которой работает пул приложений, находится в IIS
, не в состоянии опросить Active Directory
. Это будет так? Что может быть причиной того, что группы не будут возвращены?
Когда я запускаю свой код локально, я могу получить список, но Test возвращается пустым. Ошибок вообще нет.
Пример кода, где я могу изменить «LIVE» на «TEST», как у нас есть сеть с несколькими доменами, но ни работы:
UserPrincipal user = UserPrincipal.Current;
if (user != null)
{
PrincipalContext principalContext = new PrincipalContext(ContextType.Domain, "TEST");
List<Principal> groupResults = user.GetGroups(principalContext).ToList();
}
Это может быть глупый вопрос, но вы абсолютно уверены, что на самом деле существуют группы в AD в тестовой среде? –
Конечно, не глупый вопрос! Мой честный ответ: я не знаю, однако, поскольку я изменил Домен (при условии, что это действительно работает правильно), чтобы Live, и он все еще ничего не возвращал, и я знаю, что в системе Live AD есть группы, перечисленные под моим именем ... но если он завершит проверку учетной записи IIS, это будет другим вопросом. – MattR
Это веб-приложение, которое выполняется в контексте пользователя NetworkService в IIS? Кроме того, знаете ли вы имя конкретного пользователя, для которого вы хотите найти группы? – Scampbell