承接 blackbit_digital_commerce/pimcore-ldap 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

blackbit_digital_commerce/pimcore-ldap

Composer 安装命令:

composer require blackbit_digital_commerce/pimcore-ldap

包简介

Ldap bundle for Pimcore

README 文档

README

CircleCI License Total Downloads Latest Stable Version Latest Unstable Version

LDAP bundle for Pimcore

Enables LDAP authentication to the Pimcore's admin UI.

If a user already exists in Pimcore (and is not in the list of the excluded users) it will be automatically updated with the informations coming from LDAP. If not a new user will be created automatically.

Requirements

Pimcore >= 5.1.0

Installation

  1. Install the bundle using composer composer require blackbit_digital_commerce/pimcore-ldap.
  2. Open Pimcore Admin UI, navigate to Tools > Extensions and activate the bundle.

Configuration

  1. Configure the Symfony LDAP client (see http://symfony.com/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. Configure the LDAP bundle.
    # config/config.yaml
    alep_ldap:
      enabled: true
      base_dn: "dc=example,dc=com"

Supported options

  • enabled: Enables LDAP authentication (default: false).
  • service: LDAP client to use (required, default: Symfony\Component\Ldap\Ldap).
  • base_dn: Base DN for the directory (required, example: dc=example,dc=com).
  • search_dn: Read-only user's DN, which will be used to authenticate against the LDAP server in order to fetch the user's information (example: cn=your_search_dn_user,ou=users,dc=example,dc=com).
  • search_password: Read-only user's password, which will be used to authenticate against the LDAP server in order to fetch the user's information (example: your_search_dn_user_password).
  • uid_key: Entry's key to use as its UID. Depends on your LDAP server implementation (required, default: sAMAccountName).
  • filter: It lets you configure which LDAP query will be used. The {uid_key} string will be replaced by the value of the uid_key configuration value (by default, sAMAccountName), and the {username} string will be replaced by the username you are trying to load (required, default: ({uid_key}={username})).
  • exclude: [DEPRECATED] List of Pimcore's usernames to exclude from LDAP authentication (example: ['admin']). If already configured the values will be merged to exclude_rules.users configuration.
  • exclude_rules: List of rules which determine if a user has to be excluded from LDAP authentication (it supports regular expressions, see below).
    • users: List of usernames or regular expressions matching usernames (or user full paths if the user already exists) to exclude from LDAP authentication (example: ['admin', '/^noldap.*/i'] to exclude the user admin and all users with a username starting with noldap like noldap_alep).
    • roles: List of roles or regular expressions matching role names to exclude from LDAP authentication (example: ['ROLE_PIMCORE_ADMIN', '/^ROLE_NOLDAP.*/i'] to exclude the users with ROLE_PIMCORE_ADMIN assigned and all users with a role starting with ROLE_NOLDAP like ROLE_NOLDAP_USERS).
  • default_roles: List of Pimcore's roles you wish to give to a user fetched from the LDAP server (example: ['ROLE_LDAP_USERS']). All the configured default roles needs to be already present in Pimcore.
  • mapper: Data mapper service used to map ldap user data to Pimcore user (required, default: Alep\LdapBundle\DataMapper\DefaultLdapUserMapper). See Custom data mapper to build your own data mapper.
  • logger: Logger service used by the bundle (example: monolog.logger).

Custom data mapper

To build your own custom data mapper you just have to create a class which implements the LdapUserMapperInterface. You can use DefaultLdapUserMapper as an example. The DefaultLdapUserMapper is the default data mapper used by the bundle and it maps the following ldap attributes to the Pimcore user:

  • username -> Username
  • password -> Password (encoded using Pimcore's internal functions)
  • givenName -> Firstname
  • sn -> Lastname
  • mail -> Email

About Blackbit

Beside of this Pimcore plugin Blackbit also offers other bundles, individual development, consulting and hosting for your Pimcore project.

blackbit_digital_commerce/pimcore-ldap 适用场景与选型建议

blackbit_digital_commerce/pimcore-ldap 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 62.24k 次下载、GitHub Stars 达 26, 最近一次更新时间为 2020 年 03 月 02 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「ldap」 「pimcore」 「alep」 「alexpozzi」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 blackbit_digital_commerce/pimcore-ldap 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 blackbit_digital_commerce/pimcore-ldap 我们能提供哪些服务?
定制开发 / 二次开发

基于 blackbit_digital_commerce/pimcore-ldap 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 62.24k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 26
  • 点击次数: 7
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 26
  • Watchers: 6
  • Forks: 9
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0-or-later
  • 更新时间: 2020-03-02