代码之家  ›  专栏  ›  技术社区  ›  Alex.Barylski

LDAP身份验证+数据库实体用户

  •  1
  • Alex.Barylski  · 技术社区  · 7 年前

    我有一个要求,我需要通过LDAP验证用户,但是从 User 实体:

    我已阅读(并重新阅读)安全文档,但特别是:

    https://symfony.com/doc/current/security/ldap.html

    http_basic_ldap身份验证提供程序,用于身份验证 针对使用http basic的ldap服务器。像所有其他身份验证一样 提供程序,它可以与任何用户提供程序一起使用。

    听起来这应该是可能的-也许通过使用带有条令的LDAP身份验证提供程序 用户 班级?

    我还不知道怎么把这个接进来 security.yaml services.yaml

    思想?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Alejandro Nortes    7 年前

    我建议使用 ADLDAP2 library .

    这个图书馆适合你的需要。使用adldap2,您可以通过ldap服务器进行身份验证,还可以加载/同步用户数据。

    你可以 synchronize any attribute :

     'sync_attributes' => [
    
         'username' => 'samaccountname',
         'name' => 'cn',
    
     ],
    

    甚至 synchronize password :

    密码同步

    密码同步选项允许您 自动将用户LDAP密码同步到本地数据库。 这些密码由laravel进行哈希运算。

    启用此选项还将允许用户登录其帐户 使用LDAP连接存在时最后使用的密码。

    如果禁用此选项,则将随机应用本地用户帐户 16个字符的哈希密码,将无法访问此帐户 在LDAP连接丢失时。

    默认情况下禁用此功能。

    'password_sync' => env('ADLDAP_PASSWORD_SYNC', false),

    有一个 bundle for Symfony .

    推荐文章