PHPackages                             fgsl/laminas-user-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. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. fgsl/laminas-user-ldap

AbandonedArchivedLibrary[Authentication &amp; Authorization](/categories/authentication)

fgsl/laminas-user-ldap
======================

Laminas User LDAP Authentication

1.3.0(6y ago)012New BSD LicensePHPPHP &gt;=7.2

Since Feb 6Pushed 6y ago1 watchersCompare

[ Source](https://github.com/fgsl/LaminasUserLdap)[ Packagist](https://packagist.org/packages/fgsl/laminas-user-ldap)[ Docs](https://github.com/fgsl/laminas-user-ldap.git)[ RSS](/packages/fgsl-laminas-user-ldap/feed)WikiDiscussions master Synced today

READMEChangelog (4)Dependencies (9)Versions (5)Used By (0)

LaminasUserLdap
===============

[](#laminasuserldap)

Laminas LaminasUser Extension to provide LDAP Authentication

It is a adaptation from ZfcUserLdap to Laminas

Features
--------

[](#features)

- Provides an adapter chain for LDAP authentication.
- Allows login by username &amp; email address
- Provides automatic failover between configured LDAP Servers
- Provides an identity provider for BjyAuthorize

TODO / In Progress
------------------

[](#todo--in-progress)

- Add ability to register a user in ldap
- Allow password resets in ldap

Setup
-----

[](#setup)

The following steps are necessary to get this module working

1. Run `php composer.phar require fgsl/laminas-user-ldap:1.0.0`
2. Add `LaminasUserLdap` to the enabled modules list (Requires ZfcUser to be activated also)
3. Add Laminas LDAP configuration to your autoload with key 'ldap' based on:

    An example of the configuration is shown below for configs/autoload/global.php *Please make sure you do not include passwords in this file, I've included it for illustration purposes only*

    ```
    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 Configuration
-------------------------

[](#application-configuration)

Please make sure to enable both LaminasUser and LaminasUserLdap in your application.config.php as shown below

```
  array(
    'LaminasUser',
    'LaminasUserLdap',
    /* It's important to load LaminasUser before LaminasUserLdap as LaminasUserLdap is an addon to LaminasUser */
  );
```

LaminasUser Configuration
-------------------------

[](#laminasuser-configuration)

For the initial release please make sure to set the following settings in your laminasuser configuration:

```
    array(
        'enable_registration' => false,
        'enable_username' => true,
        'auth_adapters' => array( 100 => 'LaminasUserLdap\Authentication\Adapter\Ldap' ),
        'auth_identity_fields' => array( 'username','email' ),
    ),
```

Final notes
-----------

[](#final-notes)

In the above configuration auth\_identity\_fields can be left as email only if you like, however it's recommended to allow ldap users to be able to log in with their ldap uid. enable\_registration should however be turned off at this point as it will cause issues when the user tries to sign up and it can't create the entity within LDAP.

There are some more error handling that needs to be done in the module, as well as the ability to make modifications as per the zfcuser module abilities. However this has currently been disabled and you will not be able to *change* passwords.

Enjoy and if you find bugs or issues please add pull requests for the module.

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity54

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

Every ~2 days

Total

4

Last Release

2277d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2cb6d4497d6c4358a5c7e7e31d34412f5d6e9617aafa487b125bcc870171cd1e?d=identicon)[fgsl](/maintainers/fgsl)

---

Top Contributors

[![fgsl](https://avatars.githubusercontent.com/u/128915?v=4)](https://github.com/fgsl "fgsl (4 commits)")

---

Tags

laminasldaplaminasuser

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/fgsl-laminas-user-ldap/health.svg)

```
[![Health](https://phpackages.com/badges/fgsl-laminas-user-ldap/health.svg)](https://phpackages.com/packages/fgsl-laminas-user-ldap)
```

###  Alternatives

[kokspflanze/bjy-authorize

Laminas\\Acl based firewall system for Laminas dispatch protection

20178.2k4](/packages/kokspflanze-bjy-authorize)[lm-commons/lmc-rbac-mvc

Laminas Framework MVC Module that provides a layer of features of Laminas\\Permissions\\Rbac

12401.0k7](/packages/lm-commons-lmc-rbac-mvc)[saeven/zf3-circlical-user

Complete user entity, rights, and access module for Laminas

3718.7k](/packages/saeven-zf3-circlical-user)[saeven/zf3-circlical-autowire

Annotation based routing, and magic Controller creation for Laminas and ZF3.

1430.0k](/packages/saeven-zf3-circlical-autowire)

PHPackages © 2026

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