Benutzer-ID

Serviceintegrationsnachrichten enthalten zwei Benutzer-IDs: eine Systembenutzer-ID und eine Anwendungsbenutzer-ID. IBM MQ kann das Feld Benutzer-ID des IBM MQ-Nachrichtendeskriptors (MQMD, MQ Message Descriptor) anhand der in der Serviceintegrationsnachricht verwendeten Systembenutzer-ID definieren. Es sind zusätzliche Verarbeitungsschritte erforderlich, um die Anwendungsbenutzer-ID der Serviceintegration beizubehalten, wenn Interaktionen mit IBM MQ über einen IBM MQ-Server erfolgen.

Serviceintegrationsnachrichten enthalten zwei Benutzer-IDs:
  • Systembenutzer-ID: Im Allgemeinen wird die Systembenutzer-ID auf die ID des Benutzers gesetzt, der die Nachricht erzeugt. Sie wird angegeben, wenn der Benutzer eine Verbindung zum Bus herstellt. Die in der Nachricht gespeicherte Systembenutzer-ID kann vom Anwendungscode nicht geändert werden.
  • Anwendungsbenutzer-ID - Diese ID entspricht der Nachrichteneigenschaft "JMSXUserID" und kann vom Anwendungscode gesetzt werden.

IBM MQ kann so konfiguriert werden, dass das Feld für die Benutzer-ID des IBM MQ-Nachrichtendeskriptors anhand der in der Serviceintegrationsnachricht verwendeten Systembenutzer-ID definiert wird. Es gibt jedoch nur ein einziges Feld für Benutzer-IDs im MQMD. Wenn das Ziel die Verwendung von MQRFH2-Headern zulässt, wird die in der Nachricht enthaltene Anwendungsbenutzer-ID mit dem Schlüssel jsApiUserId in den Ordner <sib> des Headers RFH2 gestellt.

Wenn eine Nachricht von Warteschlangenpunkten oder Mediationspunkten in einem Busmember des Typs "IBM MQ-Server" empfangen wird, werden in Abhängigkeit davon, ob die zugehörige IBM MQ-Serverdefinition die Anerkennung der Benutzer-IDs zulässt, die folgenden Aktionen ausgeführt:
  • Wenn der IBM MQ-Server so konfiguriert ist, dass er Benutzer-IDs anerkennt, wir die Systembenutzer-ID in der Serviceintegrationsnachricht aus der Benutzer-ID im MQMD kopiert.
  • Wenn der IBM MQ-Server gemäß Konfiguration keine Benutzer-IDs anerkennt, wird die Systembenutzer-ID in der Serviceintegrationsnachricht auf den Namen des IBM MQ-Servers gesetzt, von dem die Nachricht empfangen wurde.
Stellen Sie sich ein Beispiel vor, in dem die folgenden Objekte konfiguriert wurden:
  • IBM MQ-Server QM1
  • Busmember des Typs "IBM MQ-Server", dessen Attribut trustUserIds den Wert FALSE hat
  • Warteschlangenziel (Q1), das dem Busmember des Typs "IBM MQ-Server" zugeordnet ist
Wenn Sie diese Objekte konfiguriert haben und eine Nachricht von Q1 empfangen wird, wird die Benutzer-ID immer auf QM1 gesetzt (und die Benutzer-ID ignoriert, die in der Nachricht enthalten ist). Dies geschieht, weil das Busmember des Typs "IBM MQ-Server" die in eingehenden Nachrichten empfangenen Benutzer-IDs nicht anerkennt und stattdessen immer den Namen des IBM MQ-Servers verwendet, von dem die Nachricht empfangen wurde.

Unabhängig davon, wie die Systembenutzer-ID der Serviceintegrationsnachricht gesetzt wird, die Anwendungsbenutzer-ID wird immer aus dem RFH2-Wert des Schlüssels "jsApiUserId" gebildet. Wenn dieser Schlüssel nicht vorhanden ist, weil das Wertepaar nicht im Ordner <sib> des Headers "RFH2" enthalten ist oder weil die Nachricht keinen Header "RFH2" enthält, wird dieses Feld nicht gesetzt.

Da Sicherheitsbenutzer-IDs im Nachrichtendeskriptor "MQMD" transportiert werden, sind sie in der Länge auf 12 Zeichen beschränkt. Längere Benutzer-IDs werden abgeschnitten.


Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cjfp0017_
Dateiname:cjfp0017_.html