fgsl / laminas-user-ldap
Laminas 用户 LDAP 身份验证
Requires
- php: >=7.2
- fgsl/laminas-user: 0.2.*
- laminas/laminas-ldap: ^2.10
- laminas/laminas-log: ^2.12
- laminas/laminas-mvc: 3.1.*
- laminas/laminas-permissions-acl: ^2.7
- laminas/laminas-permissions-rbac: ^3.0
Requires (Dev)
- php-coveralls/php-coveralls: v2.2.0
- phpunit/phpunit: ^8.0.0
- squizlabs/php_codesniffer: 1.4.*
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 中重置密码
设置
以下步骤是使此模块正常工作的必要步骤
-
运行
php composer.phar require fgsl/laminas-user-ldap:1.0.0
-
将
LaminasUserLdap
添加到启用模块列表(需要激活 ZfcUser) -
根据以下链接添加 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 模块的功能进行修改的能力。但是,目前这已被禁用,您将无法 更改 密码。
享受使用并如果您发现错误或问题,请为此模块添加拉取请求。