本文整理匯總了Golang中github.com/go-ldap/ldap.Conn.Close方法的典型用法代碼示例。如果您正苦於以下問題:Golang Conn.Close方法的具體用法?Golang Conn.Close怎麽用?Golang Conn.Close使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/go-ldap/ldap.Conn
的用法示例。
在下文中一共展示了Conn.Close方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: initLDAPConnector
func initLDAPConnector() string {
var (
ckl = int(0)
err error
l *ldap.Conn
)
for {
if ckl > 9 {
log.Printf("LDAP Init SRV ***** Error connect to all LDAP servers...")
return "error"
}
ldap_count++
if ldap_count > len(rconf.LDAP_URL)-1 {
ldap_count = 0
}
log.Printf("LDAP Init SRV ***** Trying connect to server %d of %d: %s", ldap_count+1, len(rconf.LDAP_URL), rconf.LDAP_URL[ldap_count][0])
l, err = ldap.Dial("tcp", rconf.LDAP_URL[ldap_count][0])
if err != nil {
continue
}
defer l.Close()
break
ckl++
}
return rconf.LDAP_URL[ldap_count][0]
}
示例2: indexHandler
func indexHandler(w http.ResponseWriter, r *http.Request) {
var (
xSearchPplMode = int(0)
xSearch string
xMessage string
dn string
dn_back string
dn_back_tmp []string
go_home_button string
ldap_Search string
ldapSearchMode = int(1)
ckl1 int
ldap_Attr []string
xGetDN [1000]string
xGetCkl int
l *ldap.Conn
err error
xFRColor = string("#FFFFFF")
xBGColor = string("#FFFFFF")
LUserName = string("")
setAdminMode = string("")
)
username, userperm := CheckUserSession(r, w)
//fmt.Printf("%s / %d\n", username, userperm)
switch userperm {
case roleAdmin:
xFRColor = "#FF0000"
xBGColor = "#FFFFFF"
LUserName = username
setAdminMode = "Yes"
case roleUser:
xFRColor = "#0000FF"
xBGColor = "#FFFFFF"
LUserName = username
default:
xFRColor = "#FFFFFF"
xBGColor = "#FFFFFF"
LUserName = ""
}
ldap_Attr = make([]string, len(rconf.WLB_LDAP_ATTR))
for ckl1 := 0; ckl1 < len(rconf.WLB_LDAP_ATTR); ckl1++ {
ldap_Attr[ckl1] = rconf.WLB_LDAP_ATTR[ckl1][0]
}
SABModules.Log_ON(&rconf)
defer SABModules.Log_OFF()
get_dn := r.FormValue("dn")
get_cn := r.FormValue("cn")
get_fn := r.FormValue("FirstName")
get_ln := r.FormValue("LastName")
searchMode := r.FormValue("SearchMode")
remIPClient := getIPAddress(r)
// log.Printf("DN: %s --- CN: %s", get_dn, get_cn)
if get_dn == "" {
dn = rconf.LDAP_URL[ldap_count][3]
} else {
dn = get_dn
}
if len(dn) < len(rconf.LDAP_URL[ldap_count][3]) {
dn = rconf.LDAP_URL[ldap_count][3]
}
log.Printf("->")
log.Printf("--> %s", pVersion)
log.Printf("->")
ucurl, _ := strconv.Unquote(r.RequestURI)
log.Println(remIPClient + " --> http://" + r.Host + ucurl)
log.Printf("%s ++> DN: %s / CN: %s / Mode: %d / Def.DN: %s", remIPClient, dn, ldap_Search, ldapSearchMode, rconf.LDAP_URL[ldap_count][3])
if get_cn == "" && get_ln == "" && get_fn == "" {
ldap_Search = rconf.LDAP_URL[ldap_count][4]
} else {
log.Printf("%s ++> SQL Search: %s/%s/%s\n", remIPClient, get_cn, get_fn, get_ln)
dbpg, err := sql.Open("postgres", rconf.PG_DSN)
if err != nil {
log.Fatalf("PG_INIT::Open() error: %v\n", err)
}
defer dbpg.Close()
queryx := "select x.dn from ldap_entries as x, ldapx_persons as y where x.uid=y.uid"
if len(get_cn) > 2 {
//.........這裏部分代碼省略.........
示例3: davDNHandler
func davDNHandler(w http.ResponseWriter, r *http.Request) {
var (
uid string
uAction string
uFullname string
queryx string
err error
l *ldap.Conn
xFRColor = string("#FFFFFF")
xBGColor = string("#FFFFFF")
)
_, userperm := CheckUserSession(r, w)
switch userperm {
case roleAdmin:
//xFRColor = "#FF0000"
//xBGColor = "#FFFFFF"
default:
return
}
SABModules.Log_ON(&rconf)
defer SABModules.Log_OFF()
remIPClient := getIPAddress(r)
uid = r.FormValue("uid")
uAction = r.FormValue("action")
dbpg, err := sql.Open("postgres", rconf.PG_DSN)
if err != nil {
log.Fatalf("PG_INIT::Open() error: %v\n", err)
}
defer dbpg.Close()
queryx = fmt.Sprintf("select fullname from ldapx_persons where uid='%s';", uid)
rows, err := dbpg.Query(queryx)
if err != nil {
log.Printf("%s\n", queryx)
log.Printf("PG::Query() Get User Name for UID: %v\n", err)
return
}
rows.Next()
rows.Scan(&uFullname)
if uAction == "SaveDN" && len(uFullname) > 0 {
queryx = fmt.Sprintf("select id from aaa_logins where uid='%s';", uid)
rows, err := dbpg.Query(queryx)
if err != nil {
log.Printf("%s\n", queryx)
log.Printf("PG::Query() Get User ID for UID: %v\n", err)
return
}
xId := 0
rows.Next()
rows.Scan(&xId)
queryx = fmt.Sprintf("delete from aaa_dns where userid=%d;", xId)
_, err = dbpg.Query(queryx)
if err != nil {
log.Printf("%s\n", queryx)
log.Printf("PG::Query() Delete DNs for UID: %v\n", err)
return
}
time.Sleep(time.Second)
r.ParseForm()
for parName := range r.Form {
if strings.Contains(parName, "SaveDN") {
queryx = fmt.Sprintf("insert into aaa_dns (userid,dn) select %d, dn from ldap_entries where uid='%s';", xId, r.FormValue(parName))
//fmt.Printf("%s\n", queryx)
_, err = dbpg.Query(queryx)
if err != nil {
log.Printf("%s\n", queryx)
log.Printf("PG::Query() Insert DNs for UID: %v\n", err)
return
}
//fmt.Fprintf(w, "%v\n", r.FormValue(parName))
}
}
queryx = fmt.Sprintf("insert into aaa_dav_ntu (userid,updtime) select %d,%v where not exists (select userid from aaa_dav_ntu where userid=%d); update aaa_dav_ntu set updtime=%v where userid=%d;", xId, time.Now().Unix(), xId, time.Now().Unix(), xId)
//fmt.Printf("%s\n", queryx)
_, err = dbpg.Query(queryx)
if err != nil {
log.Printf("%s\n", queryx)
log.Printf("PG::Query() Update NTU table: %v\n", err)
return
}
log.Printf("%s --> Set DavDN List for %s", remIPClient, uFullname)
time.Sleep(time.Second)
fmt.Fprintf(w, "<script type=\"text/javascript\">window.close();</script>")
} else {
//.........這裏部分代碼省略.........