fix: correctly "or"-join ldap userfilters (#9855)

# Which Problems Are Solved

LDAP userfilters are joined, but as it not handled as a list of filters
but as a string they are not or-joined.

# How the Problems Are Solved

Separate userfilters as list of filters and join them correctly with
"or" condition.

# Additional Changes

None

# Additional Context

Closes #7003

---------

Co-authored-by: Marco A. <kwbmm1990@gmail.com>
This commit is contained in:
Stefan Benz
2025-05-13 10:32:48 +02:00
committed by GitHub
parent d79d5e7b96
commit 1383cb0702
2 changed files with 17 additions and 14 deletions

View File

@@ -49,31 +49,31 @@ func TestProvider_userFiltersToSearchQuery(t *testing.T) {
name string
fields []string
username string
want string
want []string
}{
{
name: "zero",
fields: []string{},
username: "user",
want: "",
want: []string{},
},
{
name: "one",
fields: []string{"test"},
username: "user",
want: "(test=user)",
want: []string{"(test=user)"},
},
{
name: "three",
fields: []string{"test1", "test2", "test3"},
username: "user",
want: "(test1=user)(test2=user)(test3=user)",
want: []string{"(test1=user)", "(test2=user)", "(test3=user)"},
},
{
name: "five",
fields: []string{"test1", "test2", "test3", "test4", "test5"},
username: "user",
want: "(test1=user)(test2=user)(test3=user)(test4=user)(test5=user)",
want: []string{"(test1=user)", "(test2=user)", "(test3=user)", "(test4=user)", "(test5=user)"},
},
}
for _, tt := range tests {