初めてログインし、データベースに登録します。しかし、2回目はログインできないという問題が発生しました。
"symfony/symfony": "2.1.*"
"fr3d/ldap-bundle": "2.0.*@dev"
同様の問題を見たことがありますが、「bindRequiresDn: true」の場合、ログに記録されます。
[2013-07-10 11:37:18] ldap_driver.DEBUG: ldap_bind (ニキータ、* *) [] []
[2013-07-10 11:37:18] ldap_driver.DEBUG: 0x1: アカウントの DN を取得できませんでした: Nikita [バインディングには DN 形式のユーザー名が必要です] [] []
となり、ログインできません。
しかし、私が変更した場合:
.../vendor/fr3d/ldap-bundle/FR3D/LdapBundle/Driver/ZendLdapDriver.php
if ($user instanceof LdapUserInterface && $user->getDn()) {
$bind_rdn = $user->getDn();
} else {
$bind_rdn = $user->getUsername();
}
の上
if ($user instanceof LdapUserInterface) {
$bind_rdn = $user->getDn();
} else {
$bind_rdn = $user->getUsername();
}
すべてうまくいきます。
私の設定
fr3d_ldap:
driver:
host: "%ldap_host%"
port: "%ldap_port%"
username: "%ldap_username%"
password: "%ldap_password%"
baseDn: ou=hello, dc=h, dc=i, dc=ru
bindRequiresDn: true
accountFilterFormat: (&(samaccountname=%s))
user:
baseDn: ou=hello, dc=h, dc=i, dc=ru
filter: (&(objectClass=user))
attributes:
- { ldap_attr: samaccountname, user_method: setUsername }