У меня есть требование для поиска пользователя в подразделении. Мое решение таково: -
// s = "ou=myou1,ou=myou2,ou=muou3,dc=myad,dc=com" & t = "myad.com"
PrincipalContext context = new PrincipalContext(ContextType.Domain, t, s);
UserPrincipal user = UserPrincipal.FindByIdentity(context, "boborwhoever");
if (user != null) found him!
(прошу прощения за очевидный псевдокод, но вы получите изображение)
Проблема, с которой я сталкиваюсь, заключается в том, что, хотя мой пользователь userPrincipal заполнен, и я нахожу 'bob', если он находится в 'myou3', я могу изменить s на "ou = myou1, dc = myad, dc = com" и все еще найти «боб». Таким образом, кажется, что UserPrincipal.FindByIdentity также проверяет подчиненные подразделения.
Как мне получить, чтобы просто проверить заявленную OU? Или, может быть, я нахожусь вдали и должен все делать лучше: -)
Спасибо
Стив