>>> import ldap
>>> conn = ldap.initialize('ldap://zion.karunya.edu')
>>> conn.protocol_version = 3
>>> conn.set_option(ldap.OPT_REFERRALS, 0)
>>> conn.simple_bind_s('username', 'password')
最后一行总是引发烦人的InvalidCredentials
异常。我确定密码是正确的。我什至尝试了其他用户名,密码组合(我的朋友)。
另请注意,使用PHP adLDAP
插件的朋友没有问题。我花了几个小时试图弄清楚这个愚蠢的问题。有什么想法吗?
要conn.simple_bind_s()
的第一个参数具有比带有用户名的字符串更复杂的格式。它需要一个可分辨的名称作为第一个参数。可分辨名称的示例:username@example.com
。
有关更多详细信息,您可以查看此处和此处。
您需要使用完整的 DN 绑定用户。例如
用户名 = 'CN=abc,OU=abc,DC=abc,DC=abc,DC=com'
我希望这有所帮助。