0
我想用python-ldap使用特定的baseDN连接到ldap服务器。如何通过python连接到LDAP时指定baseDN?
import ldap
baseDN="ou=unit,o=org.c=xx" # doesn't work
#baseDN="" # works
host="ldaps://test.org.xx:636"
userDN="cn=proxyhlrb,ou=services,o=org,c=xx"
passwd="secret"
server=ldap.initialize(host+"/"+baseDN)
server.bind_s(userDN,passwd,ldap.AUTH_SIMPLE)
这里有什么问题?根据文档,根据RFC4516,ldap.initialize的参数必须是有效的LDAP URL,因此使用主机+ baseDN应该可以工作。有没有另一种方式来指定python-ldap中的baseDN?
我知道你推荐的来源。它确实解释了如何使用基本DN进行搜索,但不知道如何使用通用基本DN进行连接。端口636是ldaps的默认端口! – asmaier 2009-11-18 16:25:10
它不起作用有点相同?您连接到您的服务器,您使用有效凭证或匿名进行绑定。如果绑定成功,您可以搜索ldap服务器并使用您的baseDN来根据需要筛选结果? – Ben 2009-11-18 16:33:58
它有点相同,但很不方便。我必须使用searchDN =“ou = persons”,baseDN或searchDN =“ou = accounts”,baseDN等searchDN来更改我的代码中的每个搜索调用。我认为应该有更好的方法... – asmaier 2009-11-18 16:58:12