From 01d1e4fd4b16fc219c8f0381bf19af6e4b78dfa7 Mon Sep 17 00:00:00 2001 From: Nathan Coad Date: Mon, 24 Jul 2023 11:13:13 +1000 Subject: [PATCH] different debugging --- main.go | 44 +++++++++++++++++++++++++------------------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/main.go b/main.go index 0d7589e..04845f3 100644 --- a/main.go +++ b/main.go @@ -58,6 +58,8 @@ func isFlagPassed(name string) bool { // Taken from https://github.com/jtblin/go-ldap-client/issues/13#issuecomment-456090979 func GetGroupsOfUser(username string, baseDN string, conn *ldap.Conn) ([]string, error) { var samAccountName string + groups := []string{} + if strings.Contains(username, "@") { s := strings.Split(username, "@") samAccountName = s[0] @@ -74,7 +76,7 @@ func GetGroupsOfUser(username string, baseDN string, conn *ldap.Conn) ([]string, baseDN, ldap.ScopeWholeSubtree, ldap.NeverDerefAliases, 0, 0, false, fmt.Sprintf("(CN=%s)", ldap.EscapeFilter(samAccountName)), - []string{"dn"}, + []string{}, nil, ) @@ -87,26 +89,30 @@ func GetGroupsOfUser(username string, baseDN string, conn *ldap.Conn) ([]string, return nil, fmt.Errorf("user '%s' does not exist", samAccountName) } - userdn := sr.Entries[0].DN - fmt.Printf("userdn is '%s' from CN '%s'", userdn, samAccountName) + sr.PrettyPrint(2) - searchRequest = ldap.NewSearchRequest( - baseDN, - ldap.ScopeWholeSubtree, ldap.NeverDerefAliases, 0, 0, false, - fmt.Sprintf("(memberUid=%s)", userdn), - []string{"cn"}, // can it be something else than "cn"? - nil, - ) - sr, err = conn.Search(searchRequest) - if err != nil { - return nil, err - } + /* + userdn := sr.Entries[0].DN + fmt.Printf("userdn is '%s' from CN '%s'", userdn, samAccountName) - groups := []string{} - for _, entry := range sr.Entries { - fmt.Println(entry.GetAttributeValue("cn")) - groups = append(groups, entry.GetAttributeValue("cn")) - } + searchRequest = ldap.NewSearchRequest( + baseDN, + ldap.ScopeWholeSubtree, ldap.NeverDerefAliases, 0, 0, false, + fmt.Sprintf("(memberUid=%s)", userdn), + []string{"cn"}, // can it be something else than "cn"? + nil, + ) + sr, err = conn.Search(searchRequest) + if err != nil { + return nil, err + } + + + for _, entry := range sr.Entries { + fmt.Println(entry.GetAttributeValue("cn")) + groups = append(groups, entry.GetAttributeValue("cn")) + } + */ return groups, nil }