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ユーザーの1人と接続しようとすると、次のエラーが発生します。
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"
Postgresが構築するものとは異なるdnでLDAPバインドをテストしているようです。
cn=test user,ou=users,dc=example,dc=hyd,dc=com
vs
"cn=" + "test" + ", ou=users, dc=example, dc=hyd, dc=com"
つまり、「テスト」が「テストユーザー」と一致しません