1
0
mirror of https://github.com/mailcow/mailcow-dockerized.git synced 2024-12-23 02:04:46 +02:00

[Web] apply LDAP filter

This commit is contained in:
FreddleSpl0it 2024-02-23 10:01:56 +01:00
parent 766c270b1f
commit 010d898786
No known key found for this signature in database
GPG Key ID: 00E14E7634F4BEC5
2 changed files with 9 additions and 6 deletions

View File

@ -110,8 +110,11 @@ fwrite($lock_file_handle, getmypid());
fclose($lock_file_handle);
// Get ldap users
$response = $iam_provider->query()
->where($iam_settings['username_field'], "*")
$ldap_query = $iam_provider->query();
if (!empty($iam_settings['filter'])) {
$ldap_query = $ldap_query->rawFilter($iam_settings['filter']);
}
$response = $ldap_query->where($iam_settings['username_field'], "*")
->where($iam_settings['attribute_field'], "*")
->select([$iam_settings['username_field'], $iam_settings['attribute_field'], 'displayname'])
->paginate($max);

View File

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