OpenAM / OpenDJ 自定义用户名字段适用于少于 4000 个用户
OpenAM / OpenDJ custom username field works with less than 4000 users
我目前正在开发一个使用 OpenAM 12.0.2 和 OpenDJ 2.6 的项目
我们需要使用户名可编辑。因此,我们最终创建了一个名为 loginId
的自定义 ldap 属性,并更新了 OpenAM 配置以使用此属性而不是 uid
。
当我导入少于 4000
个用户时,登录工作正常。当我导入 4000+
用户时,任何用户都无法登录,即使是目录中前 4000 个用户中的 1 个。
我可以为用户手动 ldapsearch
,他们存在于目录中,但我无法使用他们中的任何一个登录。
我们得到一个 "Authorization failed!!" 错误,这与通常的 username/password 不匹配错误不同。
如果有人能对此有所说明,我将不胜感激。
谢谢
编辑
这是我现在使用的属性定义。
attributeTypes: ( 1.3.6.1.4.1.37238.2.9 NAME 'loginId' DESC 'username (that can be updated)' EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN 'project schema')
我已经重建了索引,但仍然有同样的问题:(
这可能是因为您的 OpenDJ 实例配置为拒绝未索引的搜索请求,并且您尚未为 loginID 属性定义和构建索引。
我目前正在开发一个使用 OpenAM 12.0.2 和 OpenDJ 2.6 的项目
我们需要使用户名可编辑。因此,我们最终创建了一个名为 loginId
的自定义 ldap 属性,并更新了 OpenAM 配置以使用此属性而不是 uid
。
当我导入少于 4000
个用户时,登录工作正常。当我导入 4000+
用户时,任何用户都无法登录,即使是目录中前 4000 个用户中的 1 个。
我可以为用户手动 ldapsearch
,他们存在于目录中,但我无法使用他们中的任何一个登录。
我们得到一个 "Authorization failed!!" 错误,这与通常的 username/password 不匹配错误不同。
如果有人能对此有所说明,我将不胜感激。
谢谢
编辑 这是我现在使用的属性定义。
attributeTypes: ( 1.3.6.1.4.1.37238.2.9 NAME 'loginId' DESC 'username (that can be updated)' EQUALITY caseIgnoreMatch ORDERING caseIgnoreOrderingMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN 'project schema')
我已经重建了索引,但仍然有同样的问题:(
这可能是因为您的 OpenDJ 实例配置为拒绝未索引的搜索请求,并且您尚未为 loginID 属性定义和构建索引。