ARTIFACTORY:为什么LDAP用户搜索可能会失败,即使用户存在于成员目录中?
主题
属于大型组的用户可能无法登录LDAP。
影响版本
所有
描述
当具有有效LDAP凭证的用户尝试登录时,可能会在UI中出现以下错误,导致登录失败:
登录失败。用户名/密码错误或用户被锁定。
人工服务日志将有如下条目:
[jfrt] [WARN] [1b863bf0d024f718] [o.a.s.l。]LdapServiceImpl:208] [http-nio-8081-exec-8] - LDAP查询异常:for user: 'LDAP_User' vid LDAP: [LDAP:错误码49 -]
决议
LDAP提供程序(如Microsoft Active Directory)可能定义了一个名为MaxValRange的策略。
MaxValRange控制在单个对象的单个属性上返回的值的数量。默认值:1500。硬限制:5000
如果LDAP组包含超过1500个成员,LDAP搜索将无法检索到这些用户的组信息。您可以通过LDAPSEARCH之类的工具验证这一点。在这种情况下,Artifactory也无法将该用户同步到其缓存中。
解决方案是将MaxValRange的值增加到大于指定组内的用户数。关于该参数的更多信息可以在LDAP Wiki页面上找到:https://ldapwiki.com/wiki/MaxValRange或者,您也可以尝试缩小搜索基DN,以便返回更少的结果。
