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:
parent
1ce7e53398
commit
63b17f9b88
5 changed files with 63 additions and 20 deletions
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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())
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue