| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | // Copyright 2014 The Go Authors. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.package mainimport (	"fmt"	"log"	"github.com/gogits/gogs/modules/ldap")var (	ldapServer string   = "adserver"	ldapPort   uint16   = 3268	baseDN     string   = "dc=*,dc=*"	filter     string   = "(&(objectClass=user)(sAMAccountName=*)(memberOf=CN=*,OU=*,DC=*,DC=*))"	Attributes []string = []string{"memberof"}	user       string   = "*"	passwd     string   = "*")func main() {	l, err := ldap.Dial("tcp", fmt.Sprintf("%s:%d", ldapServer, ldapPort))	if err != nil {		log.Fatalf("ERROR: %s\n", err.Error())	}	defer l.Close()	// l.Debug = true	err = l.Bind(user, passwd)	if err != nil {		log.Printf("ERROR: Cannot bind: %s\n", err.Error())		return	}	search := ldap.NewSearchRequest(		baseDN,		ldap.ScopeWholeSubtree, ldap.NeverDerefAliases, 0, 0, false,		filter,		Attributes,		nil)	sr, err := l.Search(search)	if err != nil {		log.Fatalf("ERROR: %s\n", err.Error())		return	}	log.Printf("Search: %s -> num of entries = %d\n", search.Filter, len(sr.Entries))	sr.PrettyPrint(0)}
 |