为什么我无法使用Symfony3上的LDAP凭据登录?

时间:2017-05-10 12:35:28

标签: symfony-3.1 fr3dldapbundle

我已经安装了FR3LdapBundle&根据我的博客成功使用Symfony3的FOSUserBundle,我能够对这个测试LDAP服务器进行身份验证;但现在我正在尝试对我们的内部Active Directory服务器进行身份验证。 这是配置中的更改(我故意限制了配置信息):

fr3d_ldap:
   driver:
      host: somehost
      username: administrateur
      password: somepass
      port: 389
      accountDomainName: somedom.local
      accountDomainNameShort: somedom
   user:
      usernameAttribute: administrateur
      baseDn: ou=utilisateurs,dc=somedom,dc=local       
      attributes:
         - { ldap_attr: administrateur,  user_method: setUsername }
         - { ldap_attr: mail,  user_method: setEmail }
      filter: (&(ObjectClass=person))

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

[2017-05-09 15:56:54] ldap_driver.DEBUG:  ldap_search(ou=utilisateurs,dc=somedom,dc=local, (&(&(ObjectClass=person))  (sAMAccountName=somedom\5cadministrateur)), [array]) {"action":"ldap_search","base_dn":"ou=utilisateurs,dc=somedom,dc=local","filter":"(&(&(ObjectClass=person))(sAMAccountName=somedom\\5cadministrateur))","attributes":[]} []
[2017-05-09 15:56:54] security.INFO: User somedom\administrateur not found on LDAP {"action":"loadUserByUsername","username":"somedom\\administrateur","result":"not found"} []

所以我想知道我是否需要一个特殊的配置?

1 个答案:

答案 0 :(得分:0)

登录为:

administrateur

相反,在日志中显示您尝试登录为" somedom \ administrateur",但您不需要添加域名。

我认为这就是问题所在。你可以尝试一下,如果它不起作用,我会让你尝试其他的东西。

编辑#2

我也看到你在config.yml代码中有这个设置:

attributes:
         - { ldap_attr: administrateur,  user_method: setUsername }

但应该是:

attributes:
         - { ldap_attr: samaccountname,  user_method: setUsername }

然后,如果您使用LDAP浏览器,请验证用户是否存在于您指定的baseDn中,并查找属性sAMAccountName,这是您应在登录名字段中输入的用户字符串