You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

python-ldap连接Active Directory遇ldap.STRONG_AUTH_REQUIRED错误:更强认证实现方案问询

嘿,我之前也踩过AD这个认证的坑!这个错误的核心是你的公司AD不允许明文绑定,必须启用加密(SSL/TLS)或者开启连接完整性校验。下面给你两种最常用的解决方法,附完整代码示例:

方法1:直接使用LDAPS加密连接(端口636)

这是最直接的方式,AD默认会开启636端口用于LDAPS加密连接。代码里需要先设置TLS相关选项,然后用ldaps://开头的URL连接:

import ldap

# 配置LDAP服务器地址和端口
AD_SERVER = "ldaps://your-ad-domain.com:636"
LDAP_LOGIN = "your-domain\\ldap-login"
LDAP_PASSWORD = "your-ldap-password"

# 设置TLS选项(如果公司AD用的是自签名证书,暂时关闭证书验证,生产环境建议开启)
ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER)
# 生产环境建议指定CA证书路径,比如:
# ldap.set_option(ldap.OPT_X_TLS_CACERTFILE, "/path/to/company-ca.crt")

try:
    # 初始化连接
    conn = ldap.initialize(AD_SERVER)
    # 绑定认证
    conn.simple_bind_s(LDAP_LOGIN, LDAP_PASSWORD)
    print("绑定成功!")
    
    # 这里可以执行你的搜索操作,比如:
    # base_dn = "OU=Users,DC=your-domain,DC=com"
    # search_filter = "(sAMAccountName=username)"
    # attrs = ["cn", "mail"]
    # result = conn.search_s(base_dn, ldap.SCOPE_SUBTREE, search_filter, attrs)
    
    # 关闭连接
    conn.unbind_s()
except ldap.LDAPError as e:
    print(f"绑定失败: {e}")
方法2:使用StartTLS升级加密连接(端口389)

如果你的AD服务器允许389端口的StartTLS升级,这种方式会先建立明文连接,再通过StartTLS命令升级为加密连接,适合不想改端口的场景:

import ldap

AD_SERVER = "ldap://your-ad-domain.com:389"
LDAP_LOGIN = "your-domain\\ldap-login"
LDAP_PASSWORD = "your-ldap-password"

# 同样配置TLS选项
ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER)
# 生产环境指定CA证书
# ldap.set_option(ldap.OPT_X_TLS_CACERTFILE, "/path/to/company-ca.crt")

try:
    conn = ldap.initialize(AD_SERVER)
    # 启用StartTLS升级连接
    conn.start_tls_s()
    # 现在绑定认证
    conn.simple_bind_s(LDAP_LOGIN, LDAP_PASSWORD)
    print("绑定成功!")
    
    # 执行搜索操作...
    
    conn.unbind_s()
except ldap.LDAPError as e:
    print(f"绑定失败: {e}")
额外说明
  • 关于证书验证:生产环境一定要关闭OPT_X_TLS_NEVER,换成指定公司的CA证书路径,避免中间人攻击。
  • 如果你的环境需要用Kerberos/SASL认证(比如域内机器的单点登录),也可以用conn.sasl_bind_s('', ldap.sasl.gssapi()),不过这种方式需要提前配置Kerberos环境,适合域内服务使用。

内容的提问来源于stack exchange,提问作者chrisaramar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 06:53:17