From be2ac5f1c936f17e2879636ac9e913f0e4c4ad02 Mon Sep 17 00:00:00 2001 From: Frédéric Guillot Date: Tue, 19 Aug 2014 16:26:07 -0700 Subject: Add multiple LDAP binding type --- app/Auth/Ldap.php | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'app/Auth') diff --git a/app/Auth/Ldap.php b/app/Auth/Ldap.php index bb17653d..97d4d0e3 100644 --- a/app/Auth/Ldap.php +++ b/app/Auth/Ldap.php @@ -96,8 +96,21 @@ class Ldap extends Base ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3); ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0); - if (! @ldap_bind($ldap, LDAP_USERNAME, LDAP_PASSWORD)) { - die('Unable to bind to the LDAP server: "'.LDAP_SERVER.'"'); + if (LDAP_BIND_TYPE === 'user') { + $ldap_username = sprintf(LDAP_USERNAME, $username); + $ldap_password = $password; + } + else if (LDAP_BIND_TYPE === 'proxy') { + $ldap_username = LDAP_USERNAME; + $ldap_password = LDAP_PASSWORD; + } + else { + $ldap_username = null; + $ldap_password = null; + } + + if (! @ldap_bind($ldap, $ldap_username, $ldap_password)) { + return false; } $sr = @ldap_search($ldap, LDAP_ACCOUNT_BASE, sprintf(LDAP_USER_PATTERN, $username), array(LDAP_ACCOUNT_FULLNAME, LDAP_ACCOUNT_EMAIL)); -- cgit v1.2.3