Varias entidades con el mismo nombre de principal

Siga estos pasos para solucionar el problema cuando se muestra el error, “se han encontrado varios principales” durante el inicio de sesión.

Problema

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"/>

Solución

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.

  1. Inicie sesión con un ID de usuario válido. Un ID de usuario es válido si existe en este depósito y no existe ninguna entrada duplicada de este ID de usuario.
  2. Cree un ID de usuario en el depósito de archivos llamado wimadmin2.
  3. Utilice la página Roles de usuario administrativo y añada el ID de usuario, wimadmin2, al rol de administrador de WebSphere Application Server.
  4. Utilice la página de configuración Depósitos federados para añadir el depósito LDAP y la entrada base a la esfera.
  5. Reinicie el servidor.
  6. Inicie sesión en WebSphere Application Server con el ID de usuario, wimadmin2.
  7. Utilice la página Gestionar usuarios para suprimir el ID de usuario llamado wimadmin del depósito de archivos.
  8. Finalice la sesión.
  9. Inicie la sesión con el ID de usuario wimadmin desde el depósito LDAP.

Ahora cada depósito tiene un primaryAdminID exclusivo.



Condiciones de uso | Comentarios