谢谢你问这个。我今天给了它最后一枪,让它起作用。
见戴维德的答案
它要求您具有ldap3软件包并安装winkerberos软件包:
pip install winkerberos
然后,您需要将站点包(PYTHON_HOME\Lib\site- packages\ldap3\protocol\sasl\kerberos.py
)中的kerberos.py文件替换为他链接到替换kerberos.py的文件。
您需要在替换的kerberos.py文件中更改以下行:
from treadmill import kerberoswrapper as kerberos
改成
import winkerberos as kerberos
然后您可以像这样连接:
from ldap3 import Server, Connection, Tls, SASL, GSSAPI
import ssl
tls = Tls(validate=ssl.CERT_NONE, version=ssl.PROTOCOL_TLSv1)
server = Server('server_fqdn', use_ssl=True, tls=tls)
c = Connection(server, authentication=SASL, sasl_mechanism=GSSAPI)
c.bind()
print(c.extend.standard.who_am_i())
c.unbind()
将server_fqdn替换为AD服务器的标准域名。
您可能需要将版本值更改为AD服务器使用的任何协议。