6

初めてログインし、データベースに登録します。しかし、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 }
4

1 に答える 1