python - 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
我已经三次检查了我所有的凭据是否匹配,但我不确定问题出在哪里。
解决方案
推荐阅读
- javascript - 正则表达式按预期工作,但在 JaVaScript 中不起作用
- java - 使用带有 ExtJWNL 的 Jfreeling 在 Java 上出现 SIGSEGV 错误
- dom - 在库的 Common Lisp 生态系统中,如何使用 Clss 和/或 Plump 而不是 Parenscript 获取 DOM 的活动元素?
- javascript - 表单输入根据选择的类别而变化
- javascript - 从 redux 选择器返回 Monad
- php - PHP - 如何删除 GCP 存储桶文件夹及其中的所有文件/文件夹?
- flutter - Flutter Grid 模态底板
- android - 在某些设备上从 Play 商店下载后,我的应用程序卡在白屏
- amazon-web-services - 使用 CRON 的特定日期的 AWS 红移计划
- jdbc - 在哪里可以获得 jooby 2.10.0 的 jooq 和 jdbc 模块?