2012-02-02 6 views
0

Я начинаю работать в LDAP и в последние несколько дней узнал о том, как делать запросы LDAP. I использовал этот фрагмент кода, чтобы найти членство человека в группе.LDAP Проверка на существование человека на верхнем уровне Организация

SearchControls srch = new SearchControls(); 
    srch.setSearchScope(SearchControls.SUBTREE_SCOPE); 
    String search_start = "[email protected],OU=Managed Groups,OU=Accounts,DC=americas,DC=myworld,DC=com"; 
    String[] attrIDs = {"cn"}; 
    srch.setReturningAttributes(attrIDs); 
    String search_target = "([email protected],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; 
    } 

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

С уважением, Koya

ответ

0

Если предположить, что верхний уровень OU является: OU=Accounts,DC=americas,DC=myworld,DC=com

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

// ... 
String search_start = "OU=Accounts,DC=americas,DC=myworld,DC=com"; 
// ... 
String search_target = "([email protected],OU=Accounts,DC=americas,DC=myworld,DC=com)"; 
// ... 
Смежные вопросы