如果有人遇到了我现在遇到的同样的问题,我需要一些帮助,因为我被要求使用Active Directory添加登录支持,我成功地完成了登录过程和用户模型的创建,现在我想将AD中的一些细节填充到应用数据库中,我想让一名员工的经理,因为我一直在搜索,我在广告上发现team lead N+1字段被命名为" manager“,所以我已经使用下面的命令对此进行了查询
AUTH_LDAP_USER_ATTR_MAP = {
"first_name": "givenName",
"last_name": "Name",
"email": "mail",
"employee_manager": "manager",
"employee_office": "physicalDeliveryOfficeName",
"employee_cost_center": "extensionAttribute8"
}问题是我把这个放在我的数据库里
CN=TeamLeadName,OU=Users,OU=T,OU=C,OU=C,DC=domain,DC=net 所以要知道,我不知道如何只知道团队领导的名字,而不知道其他人的名字,也不知道如何从那里得到团队领导的团队,或者换句话说,最初的员工经理。任何帮助都是非常感谢的。
发布于 2019-08-16 19:54:31
manager属性为您提供经理帐户的distinguishedName。您可以使用它查找经理的帐户并获取名称(您可能需要displayName)。
django-auth包将python-ldap作为依赖项,因此您可以使用它来查找帐户。我不是python开发人员,所以我确信这需要工作,但是将文献资料和这个答案放在一起,应该是这样的:
import ldap
...
l = ldap.initialize('ldap://example.com')
r = l.search_s(manager, ldap.SCOPE_BASE, '(objectClass=*)', ['displayName'])其中manager是您刚刚找到的管理器的distinguishedName,而"example.com“是您的域名。
https://stackoverflow.com/questions/57530206
复制相似问题