From 95076bdb6ab2700789f1f418a7ef25f438261445 Mon Sep 17 00:00:00 2001 From: StillLoading <26272325+StillLoading@users.noreply.github.com> Date: Sat, 13 Nov 2021 17:00:22 +0100 Subject: [PATCH] change LdapModel selection and add FreeIPA as choice --- config/auth.php | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/config/auth.php b/config/auth.php index d1a137608c..93612859f7 100644 --- a/config/auth.php +++ b/config/auth.php @@ -24,8 +24,21 @@ declare(strict_types=1); use FireflyIII\Ldap\AttributeHandler; use FireflyIII\Ldap\Rules\UserDefinedRule; -$openLDAP = class_exists(LdapRecord\Models\OpenLDAP\User::class) ? LdapRecord\Models\OpenLDAP\User::class : ''; -$activeDirectory = class_exists(LdapRecord\Models\ActiveDirectory\User::class) ? LdapRecord\Models\ActiveDirectory\User::class : ''; +# select ldap model based on configuration option +switch(env('LDAP_DIALECT')) { + case 'OpenLDAP': + $ldapModel = class_exists(LdapRecord\Models\OpenLDAP\User::class) ? LdapRecord\Models\OpenLDAP\User::class : ''; + break; + case 'ActiveDirectory': + $ldapModel = class_exists(LdapRecord\Models\ActiveDirectory\User::class) ? LdapRecord\Models\ActiveDirectory\User::class : ''; + break; + case 'FreeIPA': + $ldapModel = class_exists(LdapRecord\Models\FreeIPA\User::class) ? LdapRecord\Models\FreeIPA\User::class : ''; + break; + default: + # default to openLDAP + $ldapModel = class_exists(LdapRecord\Models\OpenLDAP\User::class) ? LdapRecord\Models\OpenLDAP\User::class : ''; +} return [ /* @@ -111,7 +124,7 @@ return [ 'ldap' => [ 'driver' => 'ldap', - 'model' => env('LDAP_DIALECT') === 'OpenLDAP' ? $openLDAP : $activeDirectory, + 'model' => $ldapModel, 'rules' => [ UserDefinedRule::class, ],