定制 ldaptools/ldaptools-bundle 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

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

ldaptools/ldaptools-bundle

Composer 安装命令:

composer require ldaptools/ldaptools-bundle

包简介

Provides easy LDAP integration for Symfony via LdapTools.

README 文档

README

The LdapToolsBundle provides easy integration of LDAP for Symfony via LdapTools.

  • An LDAP authentication provider, including AdvancedUserInterface support.
  • An LDAP form type to easily use LDAP objects in forms.
  • An LDAP type for Doctrine to easily store and retrieve LDAP results in a Doctrine entity.
  • Logging capabilities for LDAP operations.
  • Web Debug Toolbar integration for LDAP operations.
  • Integration of LdapTools events for LDAP operations (authentication, creation, modification, etc) using service tags.

Note: The LdapTools library requires PHP 5.6+.

Installation

The recommended way to install the LdapToolsBundle is using Composer:

composer require ldaptools/ldaptools-bundle

Then enable the bundle in the kernel:

// app/AppKernel.php
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...
            new LdapTools\Bundle\LdapToolsBundle\LdapToolsBundle(),
        );

        // ...
    }
}

Getting Started

After installing the bundle you can run the following command to assist in generating/testing your LDAP config:

# It will prompt for some basic questions (LDAP server, username/password to use, etc)
php bin/console ldaptools:generate:config

Adding your domain(s) to the config.yml file is as easy as the following example:

# app/config/config.yml
ldap_tools:
    domains:
        # The below "example" key can be anything you want. It just has to be a unique name for the YML config.
        example:
            # The LDAP FQDN is required
            domain_name: example.local
            # The username to use for the LDAP connection
            username: foo
            # The password to use for the username
            password: secret
            # The base DN for LDAP searches (queried from the RootDSE if not provided)
            base_dn: "dc=example,dc=local"
            # The LDAP servers to use for the connection (Queried from DNS if not provided)
            servers: ["dc1", "dc2", "dc3"]
        # Define another domain if you want
        foo:
            domain_name: foo.bar
            username: foo
            password: bar
            servers: ['dc1.foo.bar', 'dc2.foo.bar']
            base_dn: 'dc=foo,dc=bar'

Domain configuration options are also documented in the LdapTools documentation.

Then in your controller you can use the ldap_tools.ldap_manager service to query/modify/create LDAP objects...

class DefaultController extends Controller
{
    public function indexAction()
    {
        $ldap = $this->get('ldap_tools.ldap_manager');
        
        $users = $ldap->buildLdapQuery()->fromUsers()->getLdapQuery()->getResult();
        
        $users->count();
        foreach ($users as $user) {
            $user->getFirstName();
            $user->getLastName();
            $user->getUsername();
        }
        
        # ...
    }
}

Generate/Retrieve Your LDAP SSL Certificate

If you want a quick way to retrieve your server's LDAP SSL certificate you can run a simple command to output it:

# Just supply your LDAP server name...
php bin/console ldaptools:generate:sslcert --server "servername"

Documentation

ldaptools/ldaptools-bundle 适用场景与选型建议

ldaptools/ldaptools-bundle 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 161.96k 次下载、GitHub Stars 达 49, 最近一次更新时间为 2015 年 12 月 25 日, 在 PHP 生态内属于活跃度较高的组件。

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

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

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

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

  • 总下载量: 161.96k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 50
  • 点击次数: 23
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 49
  • Watchers: 3
  • Forks: 28
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-12-25