alep/ldap-bundle

此包已被废弃,不再维护。作者建议使用 blackbit_digital_commerce/pimcore-ldap 包。

Pimcore 的 LDAP 扩展包

1.5.3 2024-01-25 09:02 UTC

This package is auto-updated.

Last update: 2024-01-25 09:06:04 UTC


README

CircleCI License Total Downloads Latest Stable Version Latest Unstable Version

Pimcore 的 LDAP 扩展包

启用 Pimcore 管理界面的 LDAP 认证。

如果用户已在 Pimcore 中存在(且不在排除用户列表中),则会自动使用来自 LDAP 的信息进行更新。如果不存在,则会自动创建新用户。

要求

Pimcore >= 5.1.0

安装

  1. 使用 composer 安装扩展包:composer require blackbit_digital_commerce/pimcore-ldap
  2. 打开 Pimcore 管理界面,导航到 工具 > 扩展 并激活扩展包。

配置

  1. 配置 Symfony LDAP 客户端(见 https://symfony.com.cn/doc/current/security/ldap.html#configuring-the-ldap-client)。
    # config/services.yaml
    services:
        Symfony\Component\Ldap\Ldap:
            arguments: ['@Symfony\Component\Ldap\Adapter\ExtLdap\Adapter']
        Symfony\Component\Ldap\Adapter\ExtLdap\Adapter:
            arguments:
                -   host: my-server
                    port: 389
                    encryption: tls
                    options:
                        protocol_version: 3
                        referrals: false
  1. 配置 LDAP 扩展包。
    # config/config.yaml
    alep_ldap:
      enabled: true
      base_dn: "dc=example,dc=com"

支持选项

  • enabled: 启用 LDAP 认证(默认:false)。
  • service: 要使用的 LDAP 客户端(必需,默认:Symfony\Component\Ldap\Ldap)。
  • base_dn: 目录的基DN(必需,例如:dc=example,dc=com)。
  • search_dn: 只读用户的DN,将用于在 LDAP 服务器上认证以获取用户信息(例如:cn=your_search_dn_user,ou=users,dc=example,dc=com)。
  • search_password: 只读用户的密码,将用于在 LDAP 服务器上认证以获取用户信息(例如:your_search_dn_user_password)。
  • uid_key: 作为其 UID 使用的条目键。取决于您的 LDAP 服务器实现(必需,默认:sAMAccountName)。
  • filter: 允许您配置要使用的 LDAP 查询。{uid_key} 字符串将由 uid_key 配置值的值替换(默认为 sAMAccountName),{username} 字符串将由您尝试加载的用户名替换(必需,默认:({uid_key}={username}))。
  • exclude: [已弃用] 要从 LDAP 认证中排除的 Pimcore 用户名列表(例如:['admin'])。如果已配置,则值将合并到 exclude_rules.users 配置。
  • exclude_rules: 确定用户是否要从 LDAP 认证中排除的规则列表(支持正则表达式,见下文)。
    • users: 要从 LDAP 认证中排除的用户名或与用户名匹配的正则表达式列表(或用户全路径,如果用户已存在)(例如:['admin', '/^noldap.*/i'],以排除用户 admin 和所有用户名以 noldap 开头的用户,如 noldap_alep)。
    • 角色:要排除从LDAP身份验证中匹配的角色名称或正则表达式的列表(例如:['ROLE_PIMCORE_ADMIN', '/^ROLE_NOLDAP.*/i'],以排除具有ROLE_PIMCORE_ADMIN角色的用户以及所有以ROLE_NOLDAP开头的用户,如ROLE_NOLDAP_USERS)。
  • 默认角色:您希望将来自LDAP服务器的用户分配给Pimcore的角色列表(例如:['ROLE_LDAP_USERS'])。所有配置的默认角色都需要已经在Pimcore中存在。
  • 映射器:用于将ldap用户数据映射到Pimcore用户的映射器服务(必需,默认:Alep\LdapBundle\DataMapper\DefaultLdapUserMapper)。有关自定义数据映射器的信息,请参阅自定义数据映射器
  • 日志记录器:由组件使用的日志记录器服务(例如:monolog.logger)。

自定义数据映射器

要构建自己的自定义数据映射器,您只需创建一个实现了LdapUserMapperInterface接口的类。您可以使用DefaultLdapUserMapper作为示例。默认数据映射器是组件使用的默认数据映射器,它将以下ldap属性映射到Pimcore用户

  • username -> 用户名
  • password -> 密码(使用Pimcore的内部函数编码)
  • givenName -> 名字
  • sn -> 姓氏
  • mail -> 邮箱

关于Blackbit

除了这个Pimcore插件,Blackbit还提供其他组件、个性化开发、咨询和托管服务,以支持您的Pimcore项目。