Переглянути джерело

Added LDAP Service account support for LDAP server that don't allow anon

Ben Tyger 4 роки тому
батько
коміт
8b333c935d
1 змінених файлів з 10 додано та 0 видалено
  1. 10 0
      app/Controllers/Auth/AuthController.php

+ 10 - 0
app/Controllers/Auth/AuthController.php

@@ -45,6 +45,16 @@ abstract class AuthController extends Controller
             ldap_set_option($server, LDAP_OPT_REFERRALS, 0);
             ldap_set_option($server, LDAP_OPT_NETWORK_TIMEOUT, 10);
         }
+        
+        $serviceAccountFQDN= (array_key_exists('service_account_dn', $this->config['ldap'])) ? 
+            $this->config['ldap']['service_account_dn'] : null;
+        if (is_string($serviceAccountFQDN)) {
+            
+            if (ldap_bind($server,$serviceAccountFQDN,$this->config['ldap']['service_account_password']) === false) {
+                $this->logger->error("Bind with service account ($serviceAccountFQDN) failed.");
+                return false;
+            }
+        }
 
         return $server;
     }