在 LDAP 存储库中搜索组没有返回任何结果时,遵循此处列出的步骤进行故障诊断。
在 LDAP 存储库中搜索组没有返回任何结果。但是,virtual member manager 跟踪中也没有报告异常。而文件存储库中执行的相同搜索返回预期的结果。
这是由于 objectClass 和相关专有名称 (RDN) 配置不匹配造成的。
例如,以下样本搜索过滤器显示 objectClass=groupofnames 和 cn=TD*:
0000001b LdapConnectio > com.ibm.ws.wim.adapter.ldap.LdapConnection
JNDI_CALL search(String, String, Object[], SearchControls)
ENTRY dc=pdm (&(objectClass=groupofnames)(cn=TD*))
null [searchScope: 2, timeLimit: 600000, countLimit: 0, returningObjFlag: true,
returningAttributes: [objectClass, ibm-entryuuid, description, cn]]
然而,以“TD”开头的任何组的 LDAP 搜索结果显示 objectClass=groupofuniquenames,因此不会返回任何结果。
发生此问题的原因是由于 wimconfig.xml 文件中的 objectClass 配置为 groupofnames,如此处所示:
<config:ldapEntityTypes name="Group">
<config:objectClasses>groupofnames</config:objectClasses>
</config:ldapEntityTypes>
更正 wimconfig.xml 文件中的组的 objectClass 配置。
此处显示了先前部分中所描述的示例的更正配置:
<config:ldapEntityTypes name="Group">
<config:objectClasses>groupofuniquenames</config:objectClasses>
</config:ldapEntityTypes>