Suivez ces étapes pour résoudre l'erreur "Plusieurs principaux ont été trouvés " qui s'affiche lors de la connexion.
Une exception similaire à celle de l'exemple suivant se produit :
00000014 exception 1 com.ibm.ws.wim.registry.util.UniqueIdBridge getUniqueUserId
CWWIM4538E Plusieurs principaux ont été trouvé pour le nom de principal 'wimadmin'.
00000014 exception 1com.ibm.ws.wim.registry.util.UniqueIdBridge
getUniqueUserIdcom.ibm.websphere.wim.exception.EntityNotFoundException:
CWWIM4538E Plusieurs principaux ont été trouvé pour le nom de principal 'wimadmin'.
at com.ibm.ws.wim.registry.util.UniqueIdBridge.getUniqueUserId(UniqueIdBridge.java:168)
Dans cet exemple, la trace virtual member manager montre que deux entités possédant le même nom de principal, wimadmin, sont renvoyées par l'API search(). Cela génère l'exception.
uniqueName="uid=wimadmin,o=defaultWIMFileBasedRealm"
uniqueName="CN=wimadmin,OU=US,DC=COM
En outre, dans cet exemple, le même nom est attribué à primaryAdminId dans le fichier security.xml, comme indiqué ici. Cela génère l'exception "Plusieurs principaux" lors de la connexion. L'exemple ci-après est reproduit sur plusieurs lignes à des fins d'illustration uniquement.
<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 ne permet pas d'utiliser le même ID utilisateur plusieurs fois dans un domaine. Par exemple, un même ID utilisateur ne peut pas être utilisé dans des annuaires LDAP différents, même sous des structures organisationnelles différentes. Par conséquent, l'ID utilisateur doit être unique dans les différents référentiels.
Etudions un scénario où un référentiel de fichiers et un référentiel LDAP contiennent tous deux l'administrateur principal avec le même nom wimadmin. Utilisez la console d'administration de WebSphere Application Server et suivez ces étapes pour supprimer l'entrée en double du référentiel de fichiers.
Chaque référentiel comporte maintenant un ID administrateur principal unique.