fgsl/laminas-user-ldap

该软件包已被弃用且不再维护。未建议替代包。

Laminas 用户 LDAP 身份验证

1.3.0 2020-02-14 12:42 UTC

This package is auto-updated.

Last update: 2021-05-10 13:09:09 UTC


README

Laminas 拓展 LaminasUser 以提供 LDAP 身份验证

它是由 ZfcUserLdap 调整到 Laminas 的

特性

  • 提供 LDAP 身份验证的适配器链。
  • 允许通过用户名和电子邮件地址登录
  • 在配置的 LDAP 服务器之间提供自动故障转移
  • 为 BjyAuthorize 提供身份提供者

待办事项/进行中

  • 添加在 ldap 中注册用户的功能
  • 允许在 ldap 中重置密码

设置

以下步骤是使此模块正常工作的必要步骤

  1. 运行 php composer.phar require fgsl/laminas-user-ldap:1.0.0

  2. LaminasUserLdap 添加到启用模块列表(需要激活 ZfcUser)

  3. 根据以下链接添加 Laminas LDAP 配置到您的自动加载中,键为 'ldap':https://docs.laminas.dev/laminas-ldap/intro/

    以下是一个配置示例,用于 configs/autoload/global.php。请确保您在此文件中不要包含密码,我仅包含它以供说明。

    array(
    'ldap' => array(
    'server1' => array(
    'host'              => 's0.foo.net',
    'username'          => 'CN=user1,DC=foo,DC=net',
    'password'          => 'pass1',
    'bindRequiresDn'    => true,
    'accountDomainName' => 'foo.net',
    'baseDn'            => 'OU=Sales,DC=foo,DC=net',
    ),
    'server2' => array(
    'host'              => 's0.foo2.net',
    'username'          => 'CN=user1,DC=foo,DC=net',
    'password'          => 'pass1',
    'bindRequiresDn'    => true,
    'accountDomainName' => 'foo.net',
    'baseDn'            => 'OU=Sales,DC=foo,DC=net',
    ),
    )
    ),
    

应用程序配置

请确保在您的 application.config.php 中启用 LaminasUser 和 LaminasUserLdap,如下所示

  array(
    'LaminasUser',
    'LaminasUserLdap',
    /* It's important to load LaminasUser before LaminasUserLdap as LaminasUserLdap is an addon to LaminasUser */
  );

LaminasUser 配置

对于初始发布,请确保在您的 laminasuser 配置中设置以下设置

    array(
        'enable_registration' => false,
        'enable_username' => true,
        'auth_adapters' => array( 100 => 'LaminasUserLdap\Authentication\Adapter\Ldap' ),
        'auth_identity_fields' => array( 'username','email' ),
    ),

最后说明

在上面的配置中,如果愿意,可以将 auth_identity_fields 仅保留为电子邮件,但建议允许 ldap 用户能够使用他们的 ldap uid 登录。然而,在此阶段应该关闭 enable_registration,因为它会在用户尝试注册且无法在 LDAP 中创建实体时引起问题。

模块中还需要进行一些错误处理,以及根据 zfcuser 模块的功能进行修改的能力。但是,目前这已被禁用,您将无法 更改 密码。

享受使用并如果您发现错误或问题,请为此模块添加拉取请求。