Mehrere Entitäten mit identischem Namen des Principals

Mit den hier beschriebenen Schritten können Sie eine Fehlerbehebung vornehmen, wenn während der Anmeldung der Fehler ausgegeben wird, dass mehrere Principals gefunden wurden.

Problem

Es tritt eine Ausnahmebedingung auf, die dem folgenden Beispiel ähnlich ist:

00000014 exception     1 com.ibm.ws.wim.registry.util.UniqueIdBridge getUniqueUserId 
CWWIM4538E Für den Namen des Principals "wimadmin" wurden mehrere Principals gefunden.
00000014 exception     1com.ibm.ws.wim.registry.util.UniqueIdBridge 
getUniqueUserIdcom.ibm.websphere.wim.exception.EntityNotFoundException: 
CWWIM4538E Für den Namen des Principals "wimadmin" wurden mehrere Principals gefunden.
at com.ibm.ws.wim.registry.util.UniqueIdBridge.getUniqueUserId(UniqueIdBridge.java:168)

In diesem Beispiel zeigt der Virtual Member Manager-Trace, dass es zwei Entitäten mit demselben Namen des Principals (wimadmin) gibt, die durch die API "search()" zurückgegeben wurden. Dies bewirkt die Ausgabe der Ausnahmebedingung.

uniqueName="uid=wimadmin,o=defaultWIMFileBasedRealm"
uniqueName="CN=wimadmin,OU=US,DC=COM

In diesem Beispiel ist derselbe Name auch wie hier gezeigt dem Parameter "primaryAdminId" in der Datei "security.xml" zugeordnet. Dies führt dazu, dass die Ausnahmebedingung für mehrere Principals während der Anmeldung auftritt. Das folgende Beispiel ist nur im Hinblick auf eine bessere Darstellung in mehrere Zeilen untergliedert.

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

Lösung

Virtual Member Manager lässt die mehrfache Verwendung derselben Benutzer-ID in einem Realm nicht zu. Beispielsweise können Sie - auch unter verschiedenen Organisationsstrukturen - nicht dieselbe Benutzer-ID in unterschiedlichen LDAP-Verzeichnissen verwenden. Die Benutzer-ID muss daher über die verschiedenen Repositorys hinweg eindeutig sein.

Dies soll anhand eines Szenarios veranschaulicht werden, in dem der primäre Benutzer mit Administratorberechtigung unter demselben Namen "wimadmin" in einem Dateirepository und einem LDAP-Repository vorhanden ist. Führen Sie in der Administrationskonsole von WebSphere Application Server die folgenden Schritte aus, um den doppelten Eintrag aus dem Dateirepository zu entfernen.

  1. Melden Sie sich mit einer gültigen Benutzer-ID an. Eine Benutzer-ID ist gültig, wenn sie in diesem Repository vorhanden ist und es für diese Benutzer-ID keinen doppelten Eintrag gibt.
  2. Erstellen Sie im Dateirepository eine Benutzer-ID namens "wimadmin2".
  3. Fügen Sie die Benutzer-ID "wimadmin" auf der Seite Rollen für Benutzer mit Verwaltungsaufgaben zur Administratorrolle von WebSphere Application Server hinzu.
  4. Fügen Sie das LDAP-Repository und den Basiseintrag auf der Konfigurationsseite Zusammengefasste Repositorys zum Realm hinzu.
  5. Starten Sie den Server erneut.
  6. Melden Sie sich bei WebSphere Application Server mit der Benutzer-ID "wimadmin2" an.
  7. Löschen Sie auf der Seite Benutzer verwalten die Benutzer-ID "wimadmin" aus dem Dateirepository.
  8. Melden Sie sich ab.
  9. Melden Sie sich mit der Benutzer-ID "wimadmin" aus dem LDAP-Repository an.

Jedes Repository enthält jetzt eine eindeutige primäre Administrator-ID (primaryAdminID).



Rechtliche Hinweise | Feedback