This commit is contained in:
laodaming 2023-11-24 14:11:06 +08:00
parent eb06aca1ae
commit eebdc0f384
4 changed files with 10 additions and 3 deletions

View File

@ -38,7 +38,12 @@ func (l *GetLdapUsersLogic) GetLdapUsers(req *types.GetLdapUsersReq, r *http.Req
}
req.PageCookie = strings.Trim(req.PageCookie, " ")
pageSize := uint32(20)
list, cookie, err := l.svcCtx.Ldap.GetLdapBaseTeamUserList(pageSize, req.PageCookie)
filter := "(objectClass=person)"
//有关键词就模糊搜索
if req.UserName != "" {
filter = "(&(objectClass=person)(sn=*" + req.UserName + "*))"
}
list, cookie, err := l.svcCtx.Ldap.GetLdapBaseTeamUserList(pageSize, filter, req.PageCookie)
if err != nil {
logx.Error(err)
return resp.SetStatusWithMessage(basic.CodeServiceErr, "查询用户列表报错,"+err.Error())

View File

@ -224,6 +224,7 @@ type GetLdapOrganizationMembersItem struct {
type GetLdapUsersReq struct {
PageCookie string `form:"page_cookie,optional"` //下一页分页游标,传空/不传就是第一页
UserName string `form:"user_name,optional"` //用户名用于模糊搜索
}
type GetLdapUsersRsp struct {

View File

@ -309,6 +309,7 @@ type GetLdapOrganizationMembersItem {
//获取基础用户组中成员列表
type GetLdapUsersReq {
PageCookie string `form:"page_cookie,optional"` //下一页分页游标,传空/不传就是第一页
UserName string `form:"user_name,optional"` //用户名用于模糊搜索
}
type GetLdapUsersRsp {
List []GetLdapUsersItem `json:"list"`

View File

@ -84,12 +84,12 @@ func (l *Ldap) GetLdapUserInfo(userDN string) (*LdapUserInfo, error) {
}
// 获取基础组用户列表
func (l *Ldap) GetLdapBaseTeamUserList(pageSize uint32, pageCookie string) ([]LdapUserInfo, string, error) {
func (l *Ldap) GetLdapBaseTeamUserList(pageSize uint32, filter, pageCookie string) ([]LdapUserInfo, string, error) {
pageCookieBytes, err := hex.DecodeString(pageCookie)
if err != nil {
return nil, "", err
}
result, err := l.SearchWithPaging(l.peopleGroupDN, ldap.ScopeWholeSubtree, "(objectClass=person)", nil, pageSize, string(pageCookieBytes))
result, err := l.SearchWithPaging(l.peopleGroupDN, ldap.ScopeWholeSubtree, filter, nil, pageSize, string(pageCookieBytes))
if err != nil {
return nil, "", err
}