2 回答
TA贡献1847条经验 获得超7个赞
主要群体不同。您必须查看primaryGroupId用户的属性,然后搜索其primaryGroupToken属性中具有该值的组。
在大多数情况下,primaryGroupId将是513,它对应于 Domain Users 组。
TA贡献1856条经验 获得超11个赞
使用 lib 在 go 中查找主要组
github.com/go-ldap/ldap/v3
我不得不使用这个代码示例:
userdn := sr.Entries[0].DN
groups := []string{}
searchRequest = ldap.NewSearchRequest(
data.Record.LdapSuffix,
ldap.ScopeWholeSubtree, ldap.NeverDerefAliases, 0, SearchTimelimit, false,
fmt.Sprintf("(&(objectCategory=person)(objectClass=user)(primaryGroupID=513)(sAMAccountName=%s))", ldap.EscapeFilter(username)),
[]string{"primaryGroupID"},
nil,
)
sr, err = conn.Search(searchRequest)
if err != nil {
continue
}
if len(sr.Entries) > 0 {
primaryGroup := sr.Entries[0].GetAttributeValue("primaryGroupID")
if primaryGroup == "513" {
if searchGroup == "Domain Users" {
return true
}
}
}
- 2 回答
- 0 关注
- 361 浏览
添加回答
举报
