2020-08-16 23:16:02 +08:00
|
|
|
package ldap
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
|
2020-08-18 14:39:10 +08:00
|
|
|
"github.com/go-ldap/ldap/v3"
|
2020-08-16 23:16:02 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
/*
|
|
|
|
@Author : lanyulei
|
|
|
|
*/
|
|
|
|
|
2020-08-18 14:39:10 +08:00
|
|
|
func LdapLogin(username string, password string) (userInfo *ldap.Entry, err error) {
|
2020-08-18 00:53:02 +08:00
|
|
|
err = ldapConnection()
|
2020-08-16 23:16:02 +08:00
|
|
|
if err != nil {
|
|
|
|
return
|
|
|
|
}
|
2020-08-18 00:53:02 +08:00
|
|
|
defer conn.Close()
|
2020-08-16 23:16:02 +08:00
|
|
|
|
2020-08-18 14:39:10 +08:00
|
|
|
userInfo, err = searchRequest(username)
|
2020-08-16 23:16:02 +08:00
|
|
|
if err != nil {
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2020-08-18 14:39:10 +08:00
|
|
|
err = conn.Bind(userInfo.DN, password)
|
|
|
|
if err != nil {
|
|
|
|
return nil, fmt.Errorf("用户或密码不正确。")
|
|
|
|
}
|
|
|
|
|
2020-08-16 23:16:02 +08:00
|
|
|
return
|
|
|
|
}
|