PHPackages                             jelix/multiauth-module - 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. jelix/multiauth-module

ActiveJelix-module

jelix/multiauth-module
======================

module for Jelix, allowing to authenticate against multiple login/password providers.

v1.2.2(2y ago)02651[4 issues](https://github.com/jelix/multiauth-module/issues)MITPHP

Since Jan 30Pushed 1y ago1 watchersCompare

[ Source](https://github.com/jelix/multiauth-module)[ Packagist](https://packagist.org/packages/jelix/multiauth-module)[ Docs](http://jelix.org)[ RSS](/packages/jelix-multiauth-module/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (1)DependenciesVersions (10)Used By (0)

This is a module for Jelix, providing a plugin for jAuth allowing to authenticate against several login/password authentication providers.

Installation
============

[](#installation)

This module is for Jelix 1.6.21 and higher. It replaces the ldapdao module, and it is compatible with jauth, jauthdb, jauthdb\_admin and jcommunity modules.

Install files with Jelix 1.7 and 1.8
------------------------------------

[](#install-files-with-jelix-17-and-18)

You should use Composer to install the module. Run this commands in a shell:

```
composer require "jelix/multiauth-module"

```

Launch the configurator for your application to enable the module

```
php yourapp/dev.php module:configure multiauth

php yourapp/install/installer.php
```

Install files with Jelix 1.6.21
-------------------------------

[](#install-files-with-jelix-1621)

Copy the `multiauth` directory into the modules/ directory of your application.

Next you must say to Jelix that you want to use the module. Declare it into the mainconfig.ini.php file (into yourapp/var/config/).

In the `[modules]` section, add:

```
multiauth.access=1
```

Following modules are required: jacl2, jauth, jauthdb. In this same section verify that they are activated:

```
jacl2.access=1
jauth.access=2
jauthdb.access=1
```

If you are using the jCommunity module, you should not activate jauthdb, so keep `jauthdb.access=0`.

In the command line, launch:

```
php yourapp/install/installer.php

```

Configuration
=============

[](#configuration)

using the `auth.coord.ini.php`
------------------------------

[](#using-the-authcoordiniphp)

You must modify the configuration file `auth.coord.ini.php`.

First, set `driver=multiauth`.

Then you should add a section `multiauth`:

```
[multiauth]
; name of the dao to get user data
dao = "jauthdb~jelixuser"

; profile to use for jDb
profile = "jauth"

; list of authentication providers
providers[]=ldap:multiauth_ldap
providers[]=dbdao:centraldb
providers[]=dbaccounts

; name of the form for the jauthdb_admin module
form = "jauthdb_admin~jelixuser"

; path of the directory where to store files uploaded by the form (jauthdb_admin module)
; should be related to the var directory of the application
uploadsDirectory= ""

; if set to on, when a user login successfully, an account will be created automatically
automaticAccountCreation = on

; required. Internal use for jAuth. Don't touch it.
compatiblewithdb = on

; you should set it to allow password storage migration, if you have an old
; users table.
; @deprecated
password_crypt_function = sha1
```

The list of providers is the list of plugin that will be used, one after an other, to try to authenticate the user by his login/password.

Three providers are provided with the module:

- ldap: to authenticate the user against an ldap.
- dbaccounts: check the given login/password with the login/password stored into the account table (the table used by the dao indicated into the dao configuration parameter).
- dbdao: check the given login/password with the login/password stored into a table that is not the account table.

For the `providers` configuration parameter, each item is `:`. So, in the example above, the configuration for the ldap provider is into the `multiauth_ldap` section. You should then have :

```
[multiauth_ldap]
; profile to use for ldap
ldapprofile = "multiauthldap"
```

For `dbaccounts`, no configuration section indicated, as it is not configurable.

using the `localconfig.ini.php`
-------------------------------

[](#using-the-localconfiginiphp)

You may want to change some values of the configuration from `auth.coord.ini.php`, in a specific instance of your application. The multiauth plugin is able to load its configuration from the `localconfig.ini.php` in addition from, `auth.coord.ini.php`, so you don't have to modify `auth.coord.ini.php`.

In your `localconfig.ini.php`, create a section `multiauth`. It can contains all parameters that you can set into the `multiauth` of `auth.coord.ini.php`. The parameters from `localconfig.ini.php` overwrites parameters from `auth.coord.ini.php`.

Same behavior for provider configuration section.

Configuring ldap provider
-------------------------

[](#configuring-ldap-provider)

See LDAP.md to know how to fill a configuration for the ldap plugin.

Configuring dbaccounts provider
-------------------------------

[](#configuring-dbaccounts-provider)

The `dbaccounts` plugin does not need configuration, this is why there is no a section name.

Configuring dbdao provider
--------------------------

[](#configuring-dbdao-provider)

The `dbdao` plugin needs a simple configuration section containing a `dao` and a `profile` parameter, needed to access to the table containing login/password. Warning: it must not be the same dao/profile used by the multiauth plugin ! Else you could have some security issue.

```
[centraldb]
; dao declaring the mapping to the authentication table. It should have a
; "password" and a "login" properties.
dao="main~central_auth_db"
; profile for jDb to access to the database containing the authentication table
profile="centraldb"
```

Using the same provider multiple time
-------------------------------------

[](#using-the-same-provider-multiple-time)

You can use a provider several times. For example, you may want to use two different ldap to authenticate your users:

```
providers[]=ldap:ldapserver1
providers[]=ldap:ldapserver2
```

Obviously you will have two different sections to configure the ldap provider :

```
[ldapserver1]
ldapprofile = "ldapserver1"
[ldapserver2]
ldapprofile = "ldapserver2"
```

###  Health Score

35

—

LowBetter than 79% of packages

Maintenance36

Infrequent updates — may be unmaintained

Popularity14

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 95.6% 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 ~214 days

Recently: every ~291 days

Total

9

Last Release

949d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ae8142be36568660282368ce7c1eec904ecbc515ab5b58c759a487f3a6f1d114?d=identicon)[laurentj](/maintainers/laurentj)

![](https://www.gravatar.com/avatar/baa42c7323bbc9245b0c70f770031383879941a1a813f678f2835699fd50b375?d=identicon)[mdouchin](/maintainers/mdouchin)

![](https://www.gravatar.com/avatar/85344d4f49b7045f32ec35ce2221ecf9460ed6bdbf37c84e31e3d130c75c3dbf?d=identicon)[rldhont](/maintainers/rldhont)

---

Top Contributors

[![laurentj](https://avatars.githubusercontent.com/u/336034?v=4)](https://github.com/laurentj "laurentj (43 commits)")[![josemvm](https://avatars.githubusercontent.com/u/10053874?v=4)](https://github.com/josemvm "josemvm (2 commits)")

---

Tags

ldapjelixdao

### Embed Badge

![Health badge](/badges/jelix-multiauth-module/health.svg)

```
[![Health](https://phpackages.com/badges/jelix-multiauth-module/health.svg)](https://phpackages.com/packages/jelix-multiauth-module)
```

###  Alternatives

[directorytree/ldaprecord

A fully-featured LDAP ORM.

5782.9M10](/packages/directorytree-ldaprecord)[directorytree/ldaprecord-laravel

LDAP Authentication &amp; Management for Laravel.

5682.0M15](/packages/directorytree-ldaprecord-laravel)[symfony/ldap

Provides a LDAP client for PHP on top of PHP's ldap extension

1407.5M46](/packages/symfony-ldap)[causal/ig_ldap_sso_auth

This extension provides LDAP support for TYPO3 by delegating the authentication of frontend and/or backend users to the centrally-managed directory of your organization. It fully supports OpenLDAP and Active Directory and is capable of connecting securely to the authentication server using either TLS or SSL (ldaps://). In case of use in an intranet environment, this extension is a perfect match since it natively brings Single Sign-On (SSO) capability to TYPO3 without any complex configuration.

33377.4k](/packages/causal-ig-ldap-sso-auth)

PHPackages © 2026

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