LDAP3 パッケージの操作中に次の問題が発生しました: 間違った資格情報 (間違ったユーザー名とパスワード) を渡すと、パスワードのみが無効な場合と同じように、Bind Response に対して同じ 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、コメント: AcceptSecurityContext エラー、データ 52e、v2580\x00'、'referrals ': なし、'saslCreds': なし、'type': 'bindResponse'}
LDAPウィキによると:
52e - ERROR_LOGON_FAILURE
ユーザー名は有効ですが、パスワード/資格情報が無効な場合に返されます。他のほとんどの er が前述のように表示されないようにします。
その場合、ユーザー名が無効であるため、「data 52e」メッセージを受け取るべきではありません。
それとも私は何か間違っていますか?私の頭に浮かぶ別のことは、LDAPサーバーの障害である可能性があり、間違ったメッセージを送信しています