ldap-1-backend/public/common/ldap.go

42 lines
950 B
Go
Raw Normal View History

2022-05-18 17:57:03 +08:00
package common
import (
"fmt"
"net"
"time"
2022-05-29 10:06:21 +08:00
"github.com/eryajf/go-ldap-admin/config"
2022-05-18 17:57:03 +08:00
ldap "github.com/go-ldap/ldap/v3"
)
// 全局mysql数据库变量
var LDAP *ldap.Conn
// Init 初始化连接
func InitLDAP() {
// Dail有两个参数 network, address, 返回 (*Conn, error)
ldap, err := ldap.DialURL(config.Conf.Ldap.LdapUrl, ldap.DialWithDialer(&net.Dialer{Timeout: 5 * time.Second}))
if err != nil {
Log.Panicf("初始化ldap连接异常: %v", err)
panic(fmt.Errorf("初始化ldap连接异常: %v", err))
}
err = ldap.Bind(config.Conf.Ldap.LdapAdminDN, config.Conf.Ldap.LdapAdminPass)
if err != nil {
Log.Panicf("绑定admin账号异常: %v", err)
panic(fmt.Errorf("绑定admin账号异常: %v", err))
}
// 全局LDAP赋值
LDAP = ldap
// 隐藏密码
showDsn := fmt.Sprintf(
"%s:******@tcp(%s)",
config.Conf.Ldap.LdapAdminDN,
config.Conf.Ldap.LdapUrl,
)
Log.Info("初始化ldap完成! dsn: ", showDsn)
}