fix
This commit is contained in:
parent
d4c7aad3ab
commit
7860b94a55
|
@ -4,8 +4,7 @@ import (
|
|||
"context"
|
||||
"fusenapi/utils/auth"
|
||||
"fusenapi/utils/basic"
|
||||
"github.com/go-ldap/ldap/v3"
|
||||
"log"
|
||||
"fusenapi/utils/ldap_lib"
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
|
@ -44,28 +43,18 @@ func (l *GetDepartmentsLogic) GetDepartments(req *types.Request, userinfo *auth.
|
|||
//从ldap获取组织架构数据
|
||||
rootCn := strings.Split(l.svcCtx.Config.Ldap.RootDN, ",")
|
||||
if len(rootCn) == 0 {
|
||||
return resp.SetStatusWithMessage(basic.CodeServiceErr, "root dn is not set")
|
||||
return resp.SetStatusWithMessage(basic.CodeServiceErr, "root用户DN未设置")
|
||||
}
|
||||
searchRequest := ldap.NewSearchRequest(
|
||||
l.svcCtx.Config.Ldap.BaseDN, //这里后续需要修改,不同的人只能查询他的下属列表
|
||||
ldap.ScopeWholeSubtree, ldap.NeverDerefAliases, 0, 0, false,
|
||||
"(&(objectClass=*)(!(ou="+l.svcCtx.Config.Ldap.PeopleGroupOu+"))(!("+rootCn[0]+")))", //所有object但是不包括people以及root用户
|
||||
nil,
|
||||
nil,
|
||||
)
|
||||
// 执行搜索请求
|
||||
searchResult, err := l.svcCtx.Ldap.Search(searchRequest)
|
||||
ldapServer := ldap_lib.NewLdap(l.svcCtx.Ldap)
|
||||
filter := "(&(objectClass=*)(!(ou=" + l.svcCtx.Config.Ldap.PeopleGroupOu + "))(!(" + rootCn[0] + ")))" //所有object但是不包括people以及root用户
|
||||
searchResult, err := ldapServer.Search(l.svcCtx.Config.Ldap.BaseDN, filter, nil, nil)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
return resp.SetStatusWithMessage(basic.CodeServiceErr, "查询失败:"+err.Error())
|
||||
}
|
||||
mapDN := make(map[string]*DNItem)
|
||||
sortNum := 0
|
||||
//每个DN存入map
|
||||
for _, v := range searchResult.Entries {
|
||||
//如果是root用户则跳过
|
||||
/*if v.DN == l.svcCtx.Config.Ldap.RootDN {
|
||||
continue
|
||||
}*/
|
||||
sortNum++
|
||||
attribute := make(map[string]interface{})
|
||||
for _, attr := range v.Attributes {
|
||||
|
|
Loading…
Reference in New Issue
Block a user