Привет мы столкнулись с такой же вопрос, как в этой статье IBM:IBM Liberty LDAP фильтр
У нас есть пользователи в рамках двух суб-доменов (в том же домене верхнего). Есть ли эксперт IBM Liberty, который может посоветовать, как правильно структурировать фильтр поиска, чтобы мы могли получить пользователя (см. Журнал ошибок Liberty ниже).
Вот текущий фильтр, который мы имеем:
<ldapRegistry baseDN DC=abc,DC=CORP,DC=com" bindDN=" CN=ServiceID,OU=Service Accounts,OU=Accounts,DC=abc,DC=CORP,DC=com" bindPassword="${bindPassword}" host=" abc.corp.com” id="ldap" ignoreCase="false" ldapType="Microsoft Active Directory" port =”3268" realm="BasicRealm">
<activedFilters groupFilter="(&(cn=%v)(objectcategory=group))" groupIdMap="*:cn" groupMemberIdMap="memberOf:member" userFilter="(&(objectcategory=user)(userPrincipalName=%v))" userIdMap="user:sAMAccountName">
</activedFilters>
</ldapRegistry>
Ошибка, видимая:
com.ibm.ws.security.registry.EntryNotFoundException: CWIML4538E: Операция реестра пользователя не может быть завершено. Существует более одной записи для основного имени XXXXXXX в настроенных пользовательских реестрах. Основное имя должно быть уникальным во всех пользовательских реестрах. at com.ibm.ws.security.wim.registry.util.UniqueIdBridge.getUniqueUserId (UniqueIdBridge.java:305) at com.ibm.ws.security.wim.registry.WIMUserRegistry.getUniqueUserId (WIMUserRegistry.java:291) at com.ibm.ws.security.authentication.jaas.modules.HashtableLoginModule.handleUserId (HashtableLoginModule.java:177) at com.ibm.ws.security.authentication.jaas.modules.HashtableLoginModule.login (HashtableLoginModule.java: 127) в com.ibm.ws.kernel.boot.security.LoginModuleProxy.login (LoginModuleProxy.java:51) в sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) в sun.reflect.NativeMethodAccessorImpl.invoke (Неизвестно Источник) at sun.reflect.DelegatingMethodAccessorImpl.invoke (Неизвестный источник) at java.la ng.reflect.Method.invoke (Неизвестный источник) at javax.security.auth.login.LoginContext.invoke (Неизвестный источник) at javax.security.auth.login.LoginContext.access $ 000 (Неизвестный источник) в javax. security.auth.login.LoginContext $ 4.run (Неизвестный источник) at javax.security.auth.login.LoginContext $ 4.run (Неизвестный источник) at java.security.AccessController.doPrivileged (Неизвестный источник) at javax.security .auth.login.LoginContext.invokePriv (Unknown Source) в javax.security.auth.login.LoginContext.login (Unknown Source)