最佳答案
如何使用 Python + LDAP 对 AD 进行身份验证。我目前正在使用 python-ldap 库,它所产生的只是眼泪。
我甚至不能绑定执行一个简单的查询:
import sys
import ldap
Server = "ldap://my-ldap-server"
DN, Secret, un = sys.argv[1:4]
Base = "dc=mydomain,dc=co,dc=uk"
Scope = ldap.SCOPE_SUBTREE
Filter = "(&(objectClass=user)(sAMAccountName="+un+"))"
Attrs = ["displayName"]
l = ldap.initialize(Server)
l.protocol_version = 3
print l.simple_bind_s(DN, Secret)
r = l.search(Base, Scope, Filter, Attrs)
Type,user = l.result(r,60)
Name,Attrs = user[0]
if hasattr(Attrs, 'has_key') and Attrs.has_key('displayName'):
displayName = Attrs['displayName'][0]
print displayName
sys.exit()
用 myusername@mydomain.co.uk password username
运行这个程序会出现两个错误之一:
Invalid Credentials
-当我输入错误或故意使用错误的凭据时,它无法进行身份验证。
INVALID _ CREDENTIALS: {‘ info’: ‘80090308: LdapErr: DSID-0C090334,注释: AcceptSecurityContext error,data 52e,vece’,‘ desc’: ‘ Invalid凭证’}
或者
OPERATION _ ERROR: {‘ info’: ‘00000000: LdapErr: DSID-0C090627,comments: 为了执行这个操作,必须在连接上完成一个成功的绑定. ,data 0,vece’,‘ desc’: ‘ Operations error’}
为了正确绑定,我错过了什么?
我在软呢帽和窗户上得到了相同的错误。