Bes*_*ame 3 python windows authentication ldap active-directory
我正在使用优质的ldap3软件包,并且尝试与活动目录服务器连接,但无需提供纯文本形式的实际凭据。
支持以下SASL机制。
['GSSAPI', 'GSS-SPNEGO', 'EXTERNAL', 'DIGEST-MD5']
我尝试安装软件包GSSAPI,但在Windows计算机上不起作用。错误发生在 pip install gssapi:
subprocess.CalledProcessError: Command 'krb5-config --libs gssapi' returned non-zero exit status 1.
有人可以为此提供一个简单的例子吗?我相信GSS-SPNEGO可能是解决方案,但我在互联网上找不到任何可理解的例子。
小智 6
谢谢你问这个。我今天给了它最后一枪,让它起作用。
请参阅此链接中Davide的回答:如何在Windows上安装gssapi python模块?
它要求您具有ldap3软件包并安装winkerberos软件包:
点安装winkerberos
然后,您需要用他链接到替换kerberos.py的文件替换站点包中的kerberos.py文件(PYTHON_HOME \ Lib \ site-packages \ ldap3 \ protocol \ sasl \ kerberos.py)。
您需要在替换的kerberos.py文件中更改以下行:
从跑步机上导入kerberoswrapper作为kerberos
改成
将winkerberos导入为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()
Run Code Online (Sandbox Code Playgroud)
用AD服务器的标准域名替换server_fqdn。
您可能需要将版本值更改为AD服务器使用的任何协议。
如果有人没有那么麻烦的方法来完成此操作,请发出提示!
| 归档时间: |
|
| 查看次数: |
1218 次 |
| 最近记录: |