Siga estos pasos para solucionar el problema cuando se muestra el error, “se han encontrado varios principales” durante el inicio de sesión.
Se produce una excepción similar al ejemplo siguiente:
00000014 exception 1 com.ibm.ws.wim.registry.util.UniqueIdBridge getUniqueUserId
CWWIM4538E Multiple principals were found for the 'wimadmin' principal name.
00000014 exception 1com.ibm.ws.wim.registry.util.UniqueIdBridge
getUniqueUserIdcom.ibm.websphere.wim.exception.EntityNotFoundException:
CWWIM4538E Multiple principals were found for the 'wimadmin' principal name.
at com.ibm.ws.wim.registry.util.UniqueIdBridge.getUniqueUserId(UniqueIdBridge.java:168)
En este ejemplo, el rastreo de virtual member manager muestra que existen dos entidades con el mismo nombre de principal, wimadmin, devueltos por la API search(). Esto hace que se produzca una excepción.
uniqueName="uid=wimadmin,o=defaultWIMFileBasedRealm"
uniqueName="CN=wimadmin,OU=US,DC=COM
Además, en este ejemplo, se asigna el mismo nombre a primaryAdminId en el archivo security.xml, como se muestra a continuación. Esto hace que se produzca la excepción de “varios principales” durante el inicio de sesión. El siguiente ejemplo está dividido en varias líneas únicamente con fines ilustrativos.
<userRegistries
xmi:type="security:WIMUserRegistry"
xmi:id="WIMUserRegistry_1"
serverId="wimadmin"
serverPassword="{xor}****************"
realm="WIMREALM"
ignoreCase="true"
useRegistryServerId="false"
primaryAdminId="wimadmin"
registryClassName="com.ibm.ws.wim.registry.WIMUserRegistry"/>
Virtual member manager no permite utilizar el mismo ID de usuario más de una vez en una esfera. Por ejemplo, no se puede tener el mismo ID de usuario en directorios LDAP diferentes, ni bajo estructuras organizativas diferentes. Por ello, el ID de usuario debe ser exclusivo en los diferentes depósitos.
Considere un escenario en el que el usuario admin primario con el mismo nombre wimadmin, existe en un depósito de archivos y un depósito LDAP. Utilice la consola administrativa de WebSphere Application Server y siga estos pasos para eliminar la entrada duplicada del depósito de archivos.
Ahora cada depósito tiene un primaryAdminID exclusivo.