#青训营 x 字节后端训练营# 在 Go 的 `go-ldap` 包中,`NewSearchRequest` 是一个函数,用于创建一个新的 LDAP 搜索请求对象。该函数的签名如下:
```
goCopy codefunc NewSearchRequest(
baseDN string,
scope int,
derefAliases int,
sizeLimit int,
timeLimit int,
typesOnly bool,
filter string,
attributes []string,
controls []Control,
) *SearchRequest
```
参数解释如下:
- `baseDN`:字符串类型,表示搜索的基准 DN(Distinguished Name),即搜索的起始位置。
- ```
scope
```
:整数类型,表示搜索的范围。它可以是以下几种常量值之一:
- `ldap.ScopeBaseObject`:只搜索基准 DN。
- `ldap.ScopeSingleLevel`:搜索基准 DN 的直接子级。
- `ldap.ScopeWholeSubtree`:搜索基准 DN 的整个子树。
derefAliases
:整数类型,表示在搜索期间如何处理别名。它可以是以下几种常量值之一:
- `ldap.NeverDerefAliases`:不解析别名。
- `ldap.DerefInSearching`:在搜索过程中解析别名。
- `ldap.DerefFindingBaseObj`:解析别名,但在找到基准对象后停止。
- `ldap.DerefAlways`:始终解析别名。
- `sizeLimit`:整数类型,表示返回结果的最大条目数。设置为 0 表示没有限制。
- `timeLimit`:整数类型,表示搜索的时间限制(以秒为单位)。设置为 0 表示没有限制。
- `typesOnly`:布尔类型,表示是否只返回属性类型,而不返回属性值。