PHPackages                             aravind-zrx/cakephp-ldap - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. aravind-zrx/cakephp-ldap

ActiveCakephp-plugin

aravind-zrx/cakephp-ldap
========================

LDAP utility plugin for cakephp

0.1(8y ago)010MITPHP

Since Nov 22Pushed 8y agoCompare

[ Source](https://github.com/aravind-zrx/cakephp-ldap)[ Packagist](https://packagist.org/packages/aravind-zrx/cakephp-ldap)[ Docs](https://github.com/aravind-zrx/cakephp-ldap)[ RSS](/packages/aravind-zrx-cakephp-ldap/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

Cakephp-ldap plugin for CakePHP
===============================

[](#cakephp-ldap-plugin-for-cakephp)

Requirements
------------

[](#requirements)

- CakePHP 3.1+

Installation
------------

[](#installation)

You can install this plugin into your CakePHP application using [composer](http://getcomposer.org).

The recommended way to install composer packages is:

```
composer require aravind-zrx/Cakephp-ldap

```

Usage
-----

[](#usage)

In your app's `config/bootstrap.php` add:

```
// In config/bootstrap.php
Plugin::load('LdapUtility');
```

or using cake's console:

```
./bin/cake plugin load LdapUtility
```

Configuration:
--------------

[](#configuration)

Basic configuration for creating ldap handler instance

```
	$config = [
		'host' => 'ldap.example.com',
        'port' => 389,
        'baseDn' => 'dc=example,dc=com',
        'startTLS' => true,
        'hideErrors' => true,
        'commonBindDn' => 'cn=readonly.user,ou=people,dc=example,dc=com',
        'commonBindPassword' => 'secret'
	]
	$ldapHandler = new LdapUtility\Ldap($config);
```

#### Config parameters

[](#config-parameters)

ParameterDescription`host`Host name of LDAP server`port`Port to connect with LDAP server. Defaults to 389`baseDn`Base Distinguished name (DN)`startTLS`Boolean to decide on connection with/without TLS. Defaults to false`hideErrors`Boolean to show/hide LDAP errors. Defaults to false`commonBindDn`Common bind DN. Used in the case of readonly operations`commonBindPassword`Passowrd for common bind DN#### Setup Ldap authentication config in Controller

[](#setup-ldap-authentication-config-in-controller)

Parameters for setting LDAP authentication has all the parameters of LDAP handler connection except commonBindDn and commonBindPassowrd

```
    // In your controller, for e.g. src/Api/UsersController.php
    public function initialize()
    {
        parent::initialize();

        $this->loadComponent('Auth', [
            'storage' => 'Memory',
            'authenticate', [
                LdapUtility/Ldap => [
					'host' => 'ldap.example.com',
			        'port' => 389,
			        'baseDn' => 'dc=example,dc=com',
			        'startTLS' => true,
			        'hideErrors' => true,
			        'queryDatasource' => true,
                    'userModel' => 'Users',
                    'fields' => ['username' => 'email'],
                    'auth' => [
		                'searchFilter' => '(cn={username})',
		                'bindDn' => 'cn={username},ou=people,dc=example,dc=com'
		            ]
				]
            ],

            'unauthorizedRedirect' => false,
            'checkAuthIn' => 'Controller.initialize',
        ]);
    }
```

Auth specific configs

ParameterDescription`auth.searchFilter`search filter syntax with username placeholder. The placeholder will be replaced by username data from request. This is used to read LDAP data entry of the authenticated user`auth.bindDn`bind DN syntax with username placeholder between braces. The placeholder will be replaced by username data from request`queryDataSource`Boolean to decide whether to query app datasource after successful LDAP authentication`userModel`If queryDataSource is set, userModel table will be used for base authentication`fields.username`If queryDataSource is set, authenticate class will use field.username as field condition for base authenticationExample:
--------

[](#example)

Search for entry with cn starting with test

```
	$ldapHandler->find('search', [
		'baseDn' => 'ou=people,dc=example,dc=com',
		'filter' => 'cn=test*',
		'attributes' => ['cn', 'sn', 'mail']
	]);
```

Read a particular entry with cn=test.user

```
	$ldapHandler->find('read', [
		'baseDn' => 'ou=people,dc=example,dc=com',
		'filter' => 'cn=test.user',
		'attributes' => ['cn', 'sn', 'mail']
	]);
```

TLS connections in development environment
------------------------------------------

[](#tls-connections-in-development-environment)

```
To connect an LDAP server over TLS connection, check ldap.conf file
	* For mac, conf file is located in /etc/openldap/ldap.conf
	* For unix, conf file is located in /etc/ldap/ldap.conf
To disable certificate verification change TLS_REQCERT to 'never' in ldap.conf file

```

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

3090d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f336d699aba70d07e59e19cf6e52dbcc352dfbe87982865c438cca61767e1620?d=identicon)[aravind-zrx](/maintainers/aravind-zrx)

---

Top Contributors

[![aravind-zrx](https://avatars.githubusercontent.com/u/33215492?v=4)](https://github.com/aravind-zrx "aravind-zrx (12 commits)")

### Embed Badge

![Health badge](/badges/aravind-zrx-cakephp-ldap/health.svg)

```
[![Health](https://phpackages.com/badges/aravind-zrx-cakephp-ldap/health.svg)](https://phpackages.com/packages/aravind-zrx-cakephp-ldap)
```

###  Alternatives

[friendsofcake/cakepdf

CakePHP plugin for creating and/or rendering Pdfs, several Pdf engines supported.

3752.1M3](/packages/friendsofcake-cakepdf)[cakephp/bake

Bake plugin for CakePHP

11211.2M156](/packages/cakephp-bake)[dereuromark/cakephp-tools

A CakePHP plugin containing lots of useful and reusable tools

338920.1k32](/packages/dereuromark-cakephp-tools)[dereuromark/cakephp-queue

The Queue plugin for CakePHP provides deferred task execution.

308850.3k14](/packages/dereuromark-cakephp-queue)[dereuromark/cakephp-ide-helper

CakePHP IdeHelper Plugin to improve auto-completion

1862.1M26](/packages/dereuromark-cakephp-ide-helper)[dereuromark/cakephp-tinyauth

A CakePHP plugin to handle user authentication and authorization the easy way.

129228.6k10](/packages/dereuromark-cakephp-tinyauth)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
