首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用django-auth-ldap获得员工经理

使用django-auth-ldap获得员工经理
EN

Stack Overflow用户
提问于 2019-08-16 19:36:03
回答 1查看 415关注 0票数 0

如果有人遇到了我现在遇到的同样的问题,我需要一些帮助,因为我被要求使用Active Directory添加登录支持,我成功地完成了登录过程和用户模型的创建,现在我想将AD中的一些细节填充到应用数据库中,我想让一名员工的经理,因为我一直在搜索,我在广告上发现team lead N+1字段被命名为" manager“,所以我已经使用下面的命令对此进行了查询

代码语言:javascript
复制
AUTH_LDAP_USER_ATTR_MAP = {
    "first_name": "givenName",
    "last_name": "Name",
    "email": "mail",
    "employee_manager": "manager",
    "employee_office": "physicalDeliveryOfficeName",
    "employee_cost_center": "extensionAttribute8" 
}

问题是我把这个放在我的数据库里

代码语言:javascript
复制
CN=TeamLeadName,OU=Users,OU=T,OU=C,OU=C,DC=domain,DC=net 

所以要知道,我不知道如何只知道团队领导的名字,而不知道其他人的名字,也不知道如何从那里得到团队领导的团队,或者换句话说,最初的员工经理。任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-16 19:54:31

manager属性为您提供经理帐户的distinguishedName。您可以使用它查找经理的帐户并获取名称(您可能需要displayName)。

django-auth包将python-ldap作为依赖项,因此您可以使用它来查找帐户。我不是python开发人员,所以我确信这需要工作,但是将文献资料这个答案放在一起,应该是这样的:

代码语言:javascript
复制
import ldap

...

l = ldap.initialize('ldap://example.com')
r = l.search_s(manager, ldap.SCOPE_BASE, '(objectClass=*)', ['displayName'])

其中manager是您刚刚找到的管理器的distinguishedName,而"example.com“是您的域名。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57530206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档