Plusieurs entités avec le même nom principal

Suivez ces étapes pour résoudre l'erreur "Plusieurs principaux ont été trouvés " qui s'affiche lors de la connexion.

Problème

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

Solution

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.

  1. Connectez-vous avec un ID utilisateur valide. Un ID utilisateur est valide s'il existe dans ce référentiel et qu'il n'existe aucune entrée en double pour cet ID utilisateur.
  2. Créez un ID utilisateur dans le référentiel de fichiers appelé wimadmin2.
  3. A l'aide de la page Rôles d'utilisateurs d'administration, ajoutez l'ID utilisateur, wimadmin2, au rôle administrateur de WebSphere Application Server.
  4. Utilisez la page de configuration Référentiels fédérés pour ajouter le référentiel LDAP et l'entrée de base au domaine.
  5. Redémarrez le serveur.
  6. Connectez-vous à WebSphere Application Server avec l'ID utilisateur wimadmin2.
  7. A l'aide de la page Gérer les utilisateurs, supprimez l'ID utilisateur nommé wimadmin du référentiel de fichiers.
  8. Déconnectez-vous.
  9. Connectez-vous avec l'ID utilisateur wimadmin à partir du référentiel LDAP.

Chaque référentiel comporte maintenant un ID administrateur principal unique.



Conditions d'utilisation | Commentaires