我需要配置 Postgres LDAP 身份验证,但遇到了麻烦。我使用的是 Postgres 8.4(项目要求)。我已阅读了所有能找到的可用文档,我的 pg_hba.conf 文件中的相关行如下:
host all all 10.0.0.0/8 ldap ldapserver=10.10.10.10 ldapport=389 ldaptls=0 ldapprefix="uid=DOMAIN\" ldapsuffix="ou=All Users,dc=ad,dc=example,dc=com"
当我尝试从指定的 IP 范围使用“myname”作为用户并使用“mypassword”作为密码进行远程登录时,其中“myname”已经是 Postgres 用户,我不断收到“用户“myname”的 LDAP 身份验证失败”错误。
我编写了一个 Python 脚本来执行简单的绑定以验证与 AD 的连接,并且此绑定成功:
tls_configuration = None
use_ssl = False
server = Server('ldaps://10.10.10.10:389', use_ssl, tls_configuration)
bind_user='DOMAIN\myname'
bind_password='mypassword'
conn = Connection(server, bind_user, bind_password)
conn.bind()
所以我可以访问 AD 服务器,用户存在,简单绑定有效等等。有人能告诉我 pg_hba.conf 配置哪里出了问题吗?