LDAP Проверка существования человека в организации высшего уровня - PullRequest
0 голосов
/ 02 февраля 2012

Я новичок в LDAP и только что узнал за последние несколько дней о том, как делать запросы LDAP.Я использовал этот фрагмент кода, чтобы найти членство человека в группе.

    SearchControls srch = new SearchControls();
    srch.setSearchScope(SearchControls.SUBTREE_SCOPE); 
    String search_start = "CN=somegroup@myworld.com,OU=Managed Groups,OU=Accounts,DC=americas,DC=myworld,DC=com";
    String[] attrIDs = {"cn"};
    srch.setReturningAttributes(attrIDs);
    String search_target = "(member=CN=django@myworld.com,OU=US,OU=Users,OU=Accounts,DC=americas,DC=myworld,DC=com)";
    NamingEnumeration answer = cntxt.search( search_start, search_target,srch );
    boolean isInGroup = false;
    while(answer.hasMore()) {
        SearchResult rslt = (SearchResult)answer.next();
        Attributes attrs = rslt.getAttributes();
        NamingEnumeration<String> all = attrs.getIDs();
        isInGroup = true;
            break; 
    }

Моя задача сейчас, если также выяснить, принадлежит ли человек к организации на верхнем уровне.У меня нет идей, чтобы выяснить, какой запрос я могу использовать в таком случае.Может кто-нибудь дать совет по этому поводу?

С уважением, Коя

1 Ответ

0 голосов
/ 02 февраля 2012

Предполагая, что OU верхнего уровня: OU=Accounts,DC=americas,DC=myworld,DC=com

Не могли бы вы просто изменить следующее, чтобы достичь того, что вам нужно?

// ...
String search_start = "OU=Accounts,DC=americas,DC=myworld,DC=com";
// ...
String search_target = "(member=CN=django@myworld.com,OU=Accounts,DC=americas,DC=myworld,DC=com)";
// ...
...