【发布时间】:2021-04-08 00:06:55
【问题描述】:
使用 python-ldap.search_s() 函数 (https://www.python-ldap.org/en/python-ldap-3.3.0/reference/ldap.html#ldap.LDAPObject.search_s) 和参数...
base = DC=myorg,DC=local
filterstr = (&(sAMAccountName={login})(|(memberOf=CN=zone1,OU=zones,OU=datagroups,DC=myorg,DC=local)(memberOf=CN=zone2,OU=zones,OU=datagroups,DC=myorg,DC=local)))
...尝试匹配特定的 AD 用户。
然而,当我查看返回的结果(使用login = myuser)时,我看到了类似的内容:
[
(u'CN=zone1,OU=zones,OU=datagroups,DC=myorg,DC=local', {u'sAMAccountName': ['myuser']}),
(None, [u'ldap://DomainDnsZones.myorg.local/DC=DomainDnsZones,DC=myorg,DC=local']),
(None, [u'ldap://ForestDnsZones.myorg.local/DC=ForestDnsZones,DC=myorg,DC=local']),
(None, [u'ldap://myorg.local/CN=Configuration,DC=myorg,DC=local'])
]
列表中有多个其他匹配项(除了 myuser sAMAccountName 匹配项)与搜索过滤器无关。 查看文档 (https://www.python-ldap.org/en/python-ldap-3.3.0/faq.html) 这些似乎是“搜索延续”/当搜索基础处于域级别时包含的引荐,它说可以通过包含代码...
l = ldap.initialize('ldap://foobar')
l.set_option(ldap.OPT_REFERRALS,0)
也在尝试
ldap.set_option(ldap.OPT_REFERRALS,0)
l = ldap.initialize('ldap://foobar')
...但是添加此代码根本不会改变行为,我得到相同的结果(请参阅https://www.python-ldap.org/en/python-ldap-3.3.0/reference/ldap.html?highlight=set_option#ldap.set_option)。
我在这里误解了什么吗?有谁知道如何让这些停止弹出?有谁知道这个函数返回的元组的结构(文档没有描述)?
【问题讨论】:
标签: python-ldap