1

我在使用 LDAP3 包时遇到了以下问题:当我传递错误的凭据(错误的用户名和错误的密码)时,我得到了相同的 Microsoft Active Directory LDAP 结果代码子代码用于绑定响应,就像只有密码无效时一样。

我的代码:

from ldap3 import Connection, Server, NONE, NTLM

server = Server(url, use_ssl=True, get_info=NONE)
con = Connection(server, user='ValidID', password='ValidPassword')
con.bind()
con.unbind()
print(con.result)

结果我到了这里:

{'result':0,'description':'success','dn':'','message':'','referrals':无,'saslCreds':无,'type':'bindResponse'}

没有错。但...

con = Connection(server, user='InvalidID', password='InvalidPassword')
con.bind()
con.unbind()
print(con.result)

给我以下结果:

{'result': 49, 'description': 'invalidCredentials', 'dn': '', 'message': '80090308: LdapErr: DSID-0C09042F, comment: AcceptSecurityContext error, data 52e, v2580\x00', 'referrals ':无,'saslCreds':无,'类型':'bindResponse'}

根据 ldap 维基:

52e - ERROR_LOGON_FAILURE

当用户名有效但密码/凭证无效时返回。如前所述,将阻止大多数其他 er 显示。

在这种情况下,我不应该收到“data 52e”消息,因为用户名无效。

或者我有什么问题?我想到另一件事,可能是 ldap 服务器故障,它正在发送错误消息

4

0 回答 0