Set ldap to not follow referrals by default

Added LDAP_FOLLOW_REFERRALS .env option to override.
Fixes #317
This commit is contained in:
Dan Brown 2017-07-10 19:43:49 +01:00
parent e7f8188ee5
commit 2ea7e10923
No known key found for this signature in database
GPG Key ID: 46D9F943C24A2EF9
2 changed files with 3 additions and 0 deletions

View File

@ -42,6 +42,8 @@ class LdapService
$userFilter = $this->buildFilter($this->config['user_filter'], ['user' => $userName]); $userFilter = $this->buildFilter($this->config['user_filter'], ['user' => $userName]);
$baseDn = $this->config['base_dn']; $baseDn = $this->config['base_dn'];
$emailAttr = $this->config['email_attribute']; $emailAttr = $this->config['email_attribute'];
$followReferrals = $this->config['follow_referrals'] ? 1 : 0;
$this->ldap->setOption($ldapConnection, LDAP_OPT_REFERRALS, $followReferrals);
$users = $this->ldap->searchAndGetEntries($ldapConnection, $baseDn, $userFilter, ['cn', 'uid', 'dn', $emailAttr]); $users = $this->ldap->searchAndGetEntries($ldapConnection, $baseDn, $userFilter, ['cn', 'uid', 'dn', $emailAttr]);
if ($users['count'] === 0) return null; if ($users['count'] === 0) return null;

View File

@ -80,6 +80,7 @@ return [
'user_filter' => env('LDAP_USER_FILTER', '(&(uid=${user}))'), 'user_filter' => env('LDAP_USER_FILTER', '(&(uid=${user}))'),
'version' => env('LDAP_VERSION', false), 'version' => env('LDAP_VERSION', false),
'email_attribute' => env('LDAP_EMAIL_ATTRIBUTE', 'mail'), 'email_attribute' => env('LDAP_EMAIL_ATTRIBUTE', 'mail'),
'follow_referrals' => env('LDAP_FOLLOW_REFERRALS', false),
] ]
]; ];