我正在尝试对我的 postgresql 数据库进行 LDAP 身份验证。
这是我的 pg_hba.conf 配置文件
local all all md5
local all postgres md5
host all all 0.0.0.0/0 ldap ldapserver=myldap_serverip ldapprefix="cn=" ldapsuffix=", ou=users, dc=example, dc=hyd, dc=com"
但是当我尝试连接我的一个名为 test 的 LDAP 用户时,出现了以下错误:
psql -U test
Password for user test:
psql: FATAL: password authentication failed for user "test"
注意:我已经在postgresql中创建了测试用户。
我进行了以下搜索,并且它正在工作
ldapsearch -W -D "cn=test user,ou=users,dc=example,dc=hyd,dc=com" -b "dc=example,dc=hyd,dc=com" "uid=test"
答案1
看来您正在使用与 postgres 构造不同的 dn 测试 LDAP 绑定:
cn=test user,ou=users,dc=example,dc=hyd,dc=com
对比
"cn=" + "test" + ", ou=users, dc=example, dc=hyd, dc=com"
即“测试”与“测试用户”不匹配