瀏覽代碼

[Web] fix ldap filter if empty

FreddleSpl0it 1 年之前
父節點
當前提交
d22cafacc8
共有 1 個文件被更改,包括 7 次插入4 次删除
  1. 7 4
      data/web/inc/functions.auth.inc.php

+ 7 - 4
data/web/inc/functions.auth.inc.php

@@ -493,11 +493,14 @@ function ldap_mbox_login($user, $pass, $iam_settings, $extra = null){
   }
 
   try {
-    $user_res = $iam_provider->query()
+    $ldap_query = $iam_provider->query()
       ->where($iam_settings['username_field'], '=', $user)
-      ->whereRaw($iam_settings['filter'])
-      ->select([$iam_settings['username_field'], $iam_settings['attribute_field'], 'displayname', 'distinguishedname'])
-      ->firstOrFail();
+      ->select([$iam_settings['username_field'], $iam_settings['attribute_field'], 'displayname', 'distinguishedname']);
+    if (!empty($iam_settings['filter'])) {
+      $ldap_query = $ldap_query->whereRaw($iam_settings['filter']);
+    }
+
+    $user_res = $ldap_query->firstOrFail();
   } catch (Exception $e) {
     return false;
   }