为什么LDAP用户在成员目录中存在也会搜索失败?

维纳Reddy
2023-01-22 11:07

主题

如果用户属于大用户组,可能导致登录LDAP失败。

影响版本

所有

描述

当具有有效LDAP凭据的用户尝试登录时,登录可能会失败,在UI中出现以下错误:

登录失败。由于用户名/密码错误或用户被锁定。

Artifactory服务日志将有如下条目:

[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,以便返回更少的结果。