2015-02-04 5 views
0

Я использую node.js, passport-ldapauth, ldapjs. Попытка поиска групп пользователей с использованием метода ldap «ismemberof».Как использовать «ismemberof» в поиске ldap

Это работает из командной строки:

# ldapsearch -H ldaps://ds-dev-nonsso.nam.nsroot.net:636 -D uid=emt,ou=funcids,ou=applications,o=company,c=us -w password -b ou=internal,o=company,c=us uid=sl15062 ismemberof          # extended LDIF 
# 
# LDAPv3 
# base <ou=internal,o=company,c=us> with scope subtree 
# filter: uid=sl15062 
# requesting: ismemberof 
# 

# 0000015062, internal, company, us 
dn: id=0000015062,ou=internal,o=company,c=us 
ismemberof: cn=emt-write-MP,ou=groups,o= company,c=us 
ismemberof: cn=Ctipv-CTI-Webi-Viewer-MP,ou=groups,o= company,c=us 
ismemberof: cn=ccsvc_write,ou=groups,o= company,c=us 
ismemberof: cn=ccsvc_read,ou=groups,o= company,c=us 
ismemberof: cn=160548_wasadmin,ou=groups,o= company,c=us 
ismemberof: cn=150097_wpsadmin,ou=groups,o= company,c=us 

# search result 
search: 2 
result: 0 Success 

# numResponses: 2 

Как я могу превратить это в фильтр поиска, как это?

searchFilter: '(&(uid={{username}})(objectclass=person))', 

ответ

1

Просто добавьте (ismemberof={{whatever}}).

+0

Пробовал разные комбо, такие как: '(& uid = {{username}}) (objectclass = person) (ismemberof = *))', но не повезло. Он просто возвращает объект пользователя, я не вижу ни одной из групп. –

+0

'ismemberof' - это эксплуатационный атрибут. Он не возвращается, если вы специально его не просите. – EJP

+0

Спасибо! Это сработало. –