2013-09-11 3 views
0

Я хотел бы найти только один элемент внутри моего LDAP, сопоставляя атрибут «Id», который находится внутри объекта.Spring LdapTemplate поиск по атрибуту Object

схема LDAP заключается в следующем

> dc=myCompany,dc=com 
> ou=apiRoles  
>  cn=RoleAdmin 
>   objectClass : apiRole 
>   RoleCode : 1 
>   user (list of them with values) 

сейчас я был в состоянии сделать этот запрос, который приносит мне все классы apiRole,

List<LdapRole> ldapRoles = (List<LdapRole>)ldapTemplate.search("ou=apiRoles", "(objectClass=apiRole)", new LdapRole()); 

я Кид новичка в этом так от того, что Я понимаю, что я смотрю на базу дерева, которая является «ou = apiRoles», а затем фильтрует класс объекта

теперь как я могу изменить это, чтобы соответствовать тому, что я хочу ... что нужно посмотреть по значению из RoleCode.

Спасибо

ответ

0

Я думаю, что вы должны быть в состоянии запросить его, если заменить "(objectClass=apiRole)" с "(RoleCode=1)".

Или вы можете создать фильтр. Если вы используете Spring LDAP 1.3.2:

AndFilter filter = new AndFilter(); 
filter.and(new EqualsFilter('RoleCode', '1')); 

Тогда вы бы заменить "(objectClass=apiRole)" с filter.encode()

Смежные вопросы