我有一个要求,我需要通过LDAP对用户进行身份验证,但需要从User
实体加载/同步用户:
我已经阅读(并重新阅读了)安全文档,但是特别是:
https://symfony.com/doc/current/security/ldap.html
http_basic_ldap身份验证提供程序,用于进行身份验证 使用HTTP Basic的LDAP服务器。像所有其他身份验证一样 提供程序,它可以与任何用户提供程序一起使用。
听起来应该是可能的-也许通过将LDAP身份验证提供程序与Doctrine User
类一起使用?
我一直无法弄清楚如何在security.yaml
和services.yaml
有想法吗?
答案 0 :(得分:1)
我建议使用ADLDAP2 library。
此库符合您的需求。使用ADLDAP2,您可以通过LDAP服务器进行身份验证,还可以加载/同步用户数据。
'sync_attributes' => [
'username' => 'samaccountname',
'name' => 'cn',
],
密码同步
密码同步选项可让您 自动将用户LDAP密码同步到您的本地数据库。 这些密码由laravel在本地进行哈希处理。
启用此选项还将允许用户登录其帐户 使用存在LDAP连接时最后使用的密码。
如果禁用此选项,则会随机应用本地用户帐户 16个字符的哈希密码,将失去对该帐户的访问权限 LDAP连接断开时。
此功能默认为禁用。
'password_sync' => env('ADLDAP_PASSWORD_SYNC', false),