"sAMAccountName" 找不到针对 Active Directory 的 FR3DLdapBundle 身份验证

FR3DLdapBundle Authenticating against Active Directory doesn't find by "sAMAccountName"

我已经使用 Symfony3 成功安装了 FR3LdapBundle 和 FOSUserBundle per my blog, and I'm able to authenticate against this test LDAP server;但现在我正在尝试针对我们的内部 MS Active Directory 服务器进行身份验证。

这里是配置的变化(我故意混淆了配置信息):

fr3d_ldap:
    driver:
        host: somehostname
        port: 389
        username: someuser
        password: password
        accountDomainName: TCADMIN.somedomain.com
        accountDomainNameShort: TCADMIN
    user:
        baseDn: cn=Users,dc=somedomain,dc=com
        filter: (&(ObjectClass=Person))
        attributes:
            - { ldap_attr: samaccountname,  user_method: setUsername }

以上是我所做的唯一更改。 在我的 DEV 日志中,当我登录时收到这些重要消息:

[2016-06-08 15:18:34] ldap_driver.DEBUG: {action}({base_dn}, {filter}, {attributes}) {"action":"ldap_search","base_dn":"cn=Users,dc=somedomain,dc=com","filter":"(&(&(ObjectClass=Person))(uid=pet_acad))","attributes":[]} []
[2016-06-08 15:18:34] security.INFO: User {username} {result} on LDAP {"action":"loadUserByUsername","username":"pet_acad","result":"not found"} []

用户"pet_acad"肯定是存在的,这就是我使用LDAP浏览器时的"sAMAccountName"值。我通常能够以 "TCADMIN\pet_acad" 用户身份登录,这是在 windows 主机上。

所以我想知道我是否需要特殊配置?可能启用搜索“sAMAccountName

您必须定义包含用户名的 LDAP 属性

fr3d_ldap:
    user:
        usernameAttribute: sAMAccountName