首页 > 解决方案 > ldap3:获取用户的电子邮件地址

问题描述

我正在使用 python ldap3 模块。我能够连接到我公司的 LDAP 服务。我想用用户名查询并获取该用户的名字/姓氏+电子邮件地址。

我说:

results = conn.search('DC=corp,DC=XXXXXX,DC=com',
                      "(&(objectClass=person)(sAMAccountName=" + user_id + "))")

当我运行它时,我得到了一个匹配:

[DN: CN=YYYY\, ZZZZ,OU=Workers,DC=amr,DC=corp,DC=XXXXXX,DC=com - STATUS: Read - READ TIME: 2020-01-14T20:43:16.146874]

YYYY姓氏也是如此,名字也是如此ZZZZ。但是电子邮件不存在。我该如何找回它?谢谢。

标签: pythonldapldap-query

解决方案


需要指定要返回的属性。例如:

results = conn.search('DC=corp,DC=XXXX,DC=com',
                      "(&(objectClass=person)(sAMAccountName=" + user_id + "))",
                      ldap3.SUBTREE,
                      attributes=['mail', 'sn', 'givenName'])

推荐阅读