根据我的博客,我已经成功安装了带有 Symfony3 的 FR3LdapBundle 和 FOSUserBundle ,并且我能够针对这个测试 LDAP 服务器进行身份验证;但现在我正在尝试针对我们的内部 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 ”的搜索