0

我是 LDAP 概念的新手,我必须与 LDAP 和 FosUserBundle 集成。我已经安装了 fosuser 和 FR3DLdapBundle 这两个包,fosuser 正在工作,但我缺少有关 LDAP 登录的一些内容。

我需要使用电子邮件登录。

我有以下配置: http: //pastebin.com/USkJqtbD

我正在使用这个网站进行测试:http ://www.forumsys.com/tutorials/integration-how-to/ldap/online-ldap-test-server/

我正在使用电子邮件:riemann@ldap.forumsys.com 和密码:密码

但我有以下错误

[2015-05-18 16:36:58] ldap_driver.DEBUG: ldap_search(cn=read-only-admin,dc=example,dc=com, (&(objectClass=*)(uid=riemann@ldap.forumsys.com)), uid,mail) [] []

[2015-05-18 16:36:58] security.INFO: User riemann@ldap.forumsys.com not found on ldap [] []

预先感谢您的帮助

4

2 回答 2

0

使用 FR3D Ldap 包,您添加到属性列表中的第一个属性就是它用于搜索的属性。

在您的配置中,第一个属性是uid,所以我怀疑如果您将 用作用uid户名,那么它会正确。要对其进行排序,您只需要切换顺序,以便您的mail属性在列表中排在第一位。

fr3d_ldap:
    // ...
    user:
        // ...
        attributes:  # Specify ldap attributes mapping [ldap attribute, user object method]
            - { ldap_attr: mail,  user_method: setEmail } # Default
            - { ldap_attr: uid,  user_method: setUsername }
于 2015-05-19T10:12:56.790 回答
0

您必须调整搜索查询以通过电子邮件查找。

https://github.com/Maks3w/FR3DLdapBundle/blob/master/Resources/doc/index.md#4-configure-configyml

# app/config/config.yml
fr3d_ldap:
  driver:
    accountFilterFormat: (&(email=%s)) # Optional. sprintf format %s will be the username
于 2015-05-19T11:52:36.423 回答