1
0
Fork 0
mirror of https://github.com/documize/community.git synced 2025-08-01 03:25:25 +02:00

Preview LDAP connection results

This commit is contained in:
sauls8t 2018-09-03 18:19:46 +01:00
parent 1ce7e53398
commit 63b17f9b88
5 changed files with 63 additions and 20 deletions

View file

@ -58,6 +58,7 @@ func (h *Handler) Preview(w http.ResponseWriter, r *http.Request) {
IsError bool `json:"isError"`
Users []user.User `json:"users"`
}
result.Users = []user.User{}
// Read the request.
defer streamutil.Close(r.Body)

View file

@ -257,21 +257,27 @@ func convertUsers(c lm.LDAPConfig, lu []lm.LDAPUser) (du []user.User) {
// FetchUsers from LDAP server using both User and Group filters.
func fetchUsers(c lm.LDAPConfig) (du []user.User, err error) {
du = []user.User{}
e1 := []lm.LDAPUser{}
e2 := []lm.LDAPUser{}
e3 := []lm.LDAPUser{}
e1, err := executeUserFilter(c)
if err != nil {
err = errors.Wrap(err, "unable to execute user filter")
return
if len(c.UserFilter) > 0 {
e1, err = executeUserFilter(c)
if err != nil {
err = errors.Wrap(err, "unable to execute user filter")
return
}
}
e2, err := executeGroupFilter(c)
if err != nil {
err = errors.Wrap(err, "unable to execute group filter")
return
if len(c.GroupFilter) > 0 {
e2, err = executeGroupFilter(c)
if err != nil {
err = errors.Wrap(err, "unable to execute group filter")
return
}
}
// convert users from LDAP format to Documize format.
e3 := []lm.LDAPUser{}
e3 = append(e3, e1...)
e3 = append(e3, e2...)
du = convertUsers(c, e3)

View file

@ -28,8 +28,8 @@ var testConfigLocalLDAP = lm.LDAPConfig{
BaseDN: "ou=people,dc=planetexpress,dc=com",
BindDN: "cn=admin,dc=planetexpress,dc=com",
BindPassword: "GoodNewsEveryone",
UserFilter: "",
GroupFilter: "",
UserFilter: "(|(objectClass=person)(objectClass=user)(objectClass=inetOrgPerson))",
GroupFilter: "(&(objectClass=group)(|(cn=ship_crew)(cn=admin_staff)))",
AttributeUserRDN: "uid",
AttributeUserFirstname: "givenName",
AttributeUserLastname: "sn",
@ -40,8 +40,6 @@ var testConfigLocalLDAP = lm.LDAPConfig{
}
func TestUserFilter_LocalLDAP(t *testing.T) {
testConfigLocalLDAP.UserFilter = "(|(objectClass=person)(objectClass=user)(objectClass=inetOrgPerson))"
e, err := executeUserFilter(testConfigLocalLDAP)
if err != nil {
t.Error("unable to exeucte user filter", err.Error())
@ -61,14 +59,12 @@ func TestUserFilter_LocalLDAP(t *testing.T) {
}
func TestDualFilters_LocalLDAP(t *testing.T) {
testConfigLocalLDAP.UserFilter = "(|(objectClass=person)(objectClass=user)(objectClass=inetOrgPerson))"
e1, err := executeUserFilter(testConfigLocalLDAP)
if err != nil {
t.Error("unable to exeucte user filter", err.Error())
return
}
testConfigLocalLDAP.GroupFilter = "(&(objectClass=group)(|(cn=ship_crew)(cn=admin_staff)))"
e2, err := executeGroupFilter(testConfigLocalLDAP)
if err != nil {
t.Error("unable to exeucte group filter", err.Error())
@ -87,8 +83,6 @@ func TestDualFilters_LocalLDAP(t *testing.T) {
}
func TestGroupFilter_LocalLDAP(t *testing.T) {
testConfigLocalLDAP.GroupFilter = "(&(objectClass=group)(|(cn=ship_crew)(cn=admin_staff)))"
e, err := executeGroupFilter(testConfigLocalLDAP)
if err != nil {
t.Error("unable to exeucte group filter", err.Error())