首页 > 解决方案 > Python LDAP3 未经授权:401 未经授权:

问题描述

我正在处理与 ldap 的 python 连接。为了进行测试,我有一个本地 LDAP 容器,并且已经验证它似乎可以正常工作。我的问题是当我尝试在我的应用程序中实际设置连接时它崩溃了。

脚步:

在所有本地容器启动并运行后,我运行以下命令:

ldapsearch -x -H ldap://localhost:10389 -D "CN=test,ou=Foo,dc=Baz,dc=Bar" -b "ou=Foo,dc=Baz,dc=Bar" -w "myPwd" test

这给了我一个包含合理响应的响应:

# extended LDIF
#
# LDAPv3
# base <ou=Foo,dc=Baz,dc=Bar> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

....

# search result
search: 2
result: 0 Success

# numResponses: 5
# numEntries: 4

在我的应用程序代码中,我将连接设置如下:

server = Server(ldap_server, get_info=ALL)

try:
    connection = Connection(server,
                            user=user_format,
                            password=user_pwd)
    success = connection.bind()

    if success:
        logger.info("CONNECTED TO LDAP")
        logger.info("Server : " + ldap_server)
        logger.info("User : " + user_format)
        logger.info("Pwd : " + user_pwd)
        connection.unbind()

注意我在下面捕获了特定的异常,但现在只记录你看到的相同的东西,所以在我排除故障时它有点多余

记录信息:

LDAPSocketOpenError
Server : ldap://localhost:10389
User : CN=test,OU=Foo,DC=Baz,DC=Bar
Pwd : myPwd

我已经三次检查了我所有的凭据是否匹配,但我不确定问题出在哪里。

标签: pythonldapldap3

解决方案


推荐阅读