From c4240fc40c74d4a03e280f181e46a965d0e10915 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=B4me=20Chilliet?= <come@opensides.be> Date: Tue, 21 Mar 2017 15:45:08 +0100 Subject: [PATCH] Fixes #5425 Added password recovery login attribute to configuration --- contrib/openldap/core-fd-conf.schema | 8 +++++++- html/class_passwordRecovery.inc | 2 ++ plugins/config/class_recoveryConfig.inc | 5 +++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/contrib/openldap/core-fd-conf.schema b/contrib/openldap/core-fd-conf.schema index b3e113fb5..88d151570 100644 --- a/contrib/openldap/core-fd-conf.schema +++ b/contrib/openldap/core-fd-conf.schema @@ -580,6 +580,12 @@ attributetype ( 1.3.6.1.4.1.38414.8.110.9 NAME 'fdPasswordRecoveryUseAlternate' SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE ) +attributetype ( 1.3.6.1.4.1.38414.8.110.10 NAME 'fdPasswordRecoveryLoginAttribute' + DESC 'Fusion Directory - Password recovery login attribute (usually uid)' + EQUALITY caseExactIA5Match + SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 + SINGLE-VALUE ) + # Object Class objectclass ( 1.3.6.1.4.1.38414.8.2.1 NAME 'fusionDirectoryConf' @@ -627,7 +633,7 @@ objectclass ( 1.3.6.1.4.1.38414.8.2.3 NAME 'fdPasswordRecoveryConf' fdPasswordRecoveryMailSubject $ fdPasswordRecoveryMailBody $ fdPasswordRecoveryMail2Subject $ fdPasswordRecoveryMail2Body $ fdPasswordRecoveryValidity $ fdPasswordRecoverySalt $ - fdPasswordRecoveryUseAlternate + fdPasswordRecoveryUseAlternate $ fdPasswordRecoveryLoginAttribute ) ) # Dashboard Object Class diff --git a/html/class_passwordRecovery.inc b/html/class_passwordRecovery.inc index ac49bff5f..ca9281341 100644 --- a/html/class_passwordRecovery.inc +++ b/html/class_passwordRecovery.inc @@ -374,6 +374,8 @@ class passwordRecovery extends standAlonePage { $this->usealternates = $config->get_cfg_value('passwordRecoveryUseAlternate'); + $this->loginAttribute = $config->get_cfg_value('passwordRecoveryLoginAttribute', 'uid'); + @DEBUG(DEBUG_TRACE, __LINE__, __FUNCTION__, __FILE__, $config->get_cfg_value('passwordRecoveryActivated'), "passwordRecoveryActivated"); return ($config->get_cfg_value('passwordRecoveryActivated') == "TRUE"); } diff --git a/plugins/config/class_recoveryConfig.inc b/plugins/config/class_recoveryConfig.inc index d16163f18..9492f5011 100644 --- a/plugins/config/class_recoveryConfig.inc +++ b/plugins/config/class_recoveryConfig.inc @@ -74,6 +74,11 @@ class recoveryConfig extends simplePlugin 'fdPasswordRecoveryUseAlternate', FALSE ), + new StringAttribute ( + _('Login attribute'), _('Usually uid, but you can use something else for instance in case of SSO'), + 'fdPasswordRecoveryLoginAttribute', TRUE, + 'uid' + ), ) ), 'first_email' => array ( -- GitLab