python-ldap登录到Active Directory始终显示无效凭据

时间:2015-04-18 13:30:57

标签: python active-directory ldap python-ldap

>>> 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插件的朋友没有任何问题。我花了好几个小时试图找出这个愚蠢的问题。有什么想法吗?

2 个答案:

答案 0 :(得分:3)

conn.simple_bind_s的第一个参数具有更复杂的格式,然后只是带有用户名的字符串。它需要专有名称作为第一个arg。专有名称示例:username@example.com
有关详情,请查看herehere

答案 1 :(得分:0)

您需要使用完整的DN绑定用户。 例如

USERNAME =' CN = abc,OU = abc,DC = abc,DC = abc,DC = com'

我希望这会有所帮助。