python - 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
。但是电子邮件不存在。我该如何找回它?谢谢。
解决方案
需要指定要返回的属性。例如:
results = conn.search('DC=corp,DC=XXXX,DC=com',
"(&(objectClass=person)(sAMAccountName=" + user_id + "))",
ldap3.SUBTREE,
attributes=['mail', 'sn', 'givenName'])
推荐阅读
- java - Javafx 表加载正确的行数,但加载重复数据。我错过了什么吗?
- javascript - MongooseJS 尝试使用嵌套查询运算符填充
- laravel - 使用 laravel 在一段时间后更新行
- vb.net - 如何在不使用按钮的情况下将数据从 datagridview 保存到 sql 数据库
- spring-boot - 在活动探测之外的 Kubernetes 中对离散应用程序状态发出警报
- kubernetes - 是否可以将 StatefulSet 的 pod 分配给 Kubernetes 集群的特定节点?
- apache-kafka - 为什么我的 Kafka 负载在代理之间没有平衡?
- laravel - Laravel 中的 PUT/POST
- c# - 有没有办法通过 C# 配置网卡的接收/传输缓冲区大小
- python - 在 Python 测试中删除 \n 的字符串格式