Django用户LDAP搜索所有组内名称

2024-03-28 18:12:52 发布

您现在位置:Python中文网/ 问答频道 /正文

AD_DNS_NAME = xx.xxxxxx.org'
AD_LDAP_URL = 'ldap://%s' % (AD_DNS_NAME)
con = ldap.initialize(AD_LDAP_URL)
    username = 'john'
    password = '123'
    base_dn = 'OU=Domain Users,DC=xx,DC=xxxxx,DC=org'
    filter = '(sAMAccountName=' + username + ')'
    attrs = ['mail']
    dn = '%s@%s' % (username, AD_DNS_NAME)

    try:
        con.simple_bind_s(dn, password)
        my_search = con.search_s(base_dn, ldap.SCOPE_SUBTREE, filter , attrs )
    # my_search return 
   #[('CN=john,OU=x_x_x xx,OU=xxxxxx,OU=CN BU,OU=Domain Users,DC=xx,DC=xxxxxx,DC=org', {'mail': ['john@xxxxxx.com.cn']})]

上面的代码可以搜索某个名为“john”的用户的信息,但我不知道如何从一个邮件组中获取所有成员的姓名,谁知道该怎么做?例如,我想搜索一个名为“All of AAA”的组

我将attrs设置为null,并获得以下所有信息:删除一些其他不重要的信息

^{pr2}$

你能告诉我如何设置过滤器:filter='(&;(objectClass=group)(CN=groupname))'set group='memberOf'和groupname='All of AAA'???,我试过了,但没用

我已经解决了这个问题,现在我写下方法:

filter = "(&(objectCategory=person)(objectClass=user)(memberOf=CN=All of AAA,OU=CN BU,OU=Distribution List,OU=Exchange,DC=xx,DC=xxxxxx,DC=org))"

Tags: nameorgdnsusernameoudccnfilter