FOSUser + BorisMorel LdapBundle

时间:2014-10-06 17:47:10

标签: php symfony authentication ldap

我正在尝试按照本指南将BorisMorel LdapBundle与FOSUser集成:Using a custom user manager with LDAP authentication

我的目标是使用LDAP进行身份验证,然后将LDAP数据存储在我的fosuser表中。

我已经到了从LDAP正确检索数据并存储在fosuser表中的地步。我不希望它将密码存储在数据库中,因为它没有用处,因为我更喜欢在每次登录时使用LDAP验证密码。

问题是当我到达这一点时: C:\ XAMPP \ htdocs中\ Symfony2的\厂商\ symfony的\ symfony的\ SRC \的Symfony \元器件\安全\核心\认证\提供商\ UserAuthenticationProvider.php

功能: 公共功能验证(TokenInterface $ token)

它调用函数: $ this-> checkAuthentication($ user,$ token);

哪个解决了这个功能: checkAuthentication(UserInterface $ user,UsernamePasswordToken $ token)

此文件中包含以下内容: C:\ XAMPP \ htdocs中\ Symfony2的\厂商\ symfony的\ symfony的\ SRC \的Symfony \元器件\安全\核心\认证\提供商\ DaoAuthenticationProvider.php

因为它使用以下方法检查密码:      encoderFactory-> getEncoder($ user) - > isPasswordValid($ user-> getPassword(),$ presentPassword,$ user-> getSalt())){     抛出新的BadCredentialsException('提供的密码是     }

由于fosuser表上的密码为空,因此即使已经通过LdapBundle测试,身份验证也会失败。

我缺少什么?我猜测正在使用错误的验证器,但是在BorisMorel资源中没有描述它。

请帮忙!

0 个答案:

没有答案