ferry/pkg/ldap/ldapFieldsMap.go
2020-08-19 13:36:27 +08:00

42 lines
925 B
Go

package ldap
import (
"ferry/models/system"
"github.com/go-ldap/ldap/v3"
)
/*
@Author : lanyulei
*/
func LdapFieldsMap(ldapUserInfo *ldap.Entry) (userInfo system.SysUser, err error) {
var (
ldapFields []map[string]string
)
ldapFields, err = getLdapFields()
if err != nil {
return
}
for _, v := range ldapFields {
switch v["local_field_name"] {
case "nick_name":
userInfo.NickName = ldapUserInfo.GetAttributeValue(v["ldap_field_name"])
case "phone":
userInfo.Phone = ldapUserInfo.GetAttributeValue(v["ldap_field_name"])
case "avatar":
userInfo.Avatar = ldapUserInfo.GetAttributeValue(v["ldap_field_name"])
case "sex":
userInfo.Sex = ldapUserInfo.GetAttributeValue(v["ldap_field_name"])
case "email":
userInfo.Email = ldapUserInfo.GetAttributeValue(v["ldap_field_name"])
case "remark":
userInfo.Remark = ldapUserInfo.GetAttributeValue(v["ldap_field_name"])
}
}
return
}