是的,Go语言的LDAP库支持分页查询。在使用ldap.Search()函数时,可以传入一个ldap.SearchRequest对象,该对象可以设置Paging字段,以指定每次查询返回的最大条目数和起始条目。例如:

searchRequest := ldap.NewSearchRequest(
    "dc=example,dc=com",
    ldap.ScopeWholeSubtree, ldap.NeverDerefAliases, 0, 0, false,
    "(objectClass=person)",
    []string{"dn", "cn", "mail"},
    nil,
)

pageSize := 10
searchRequest.Paging = ldap.NewControlPaging(pageSize)

sr, err := l.Search(searchRequest)
if err != nil {
    log.Fatal(err)
}

for _, entry := range sr.Entries {
    fmt.Printf("DN: %s, CN: %s, Email: %s\n",
        entry.DN, entry.GetAttributeValue("cn"), entry.GetAttributeValue("mail"))
}

在上面的示例中,设置了每页最大条目数为10,通过遍历返回的ldap.SearchResult对象的Entries字段,可以逐个获取查询结果。

golang ldap查询支持分页吗

原文地址: https://www.cveoy.top/t/topic/b54d 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录