Identificación de usuario
Los mensajes de integración de servicios contienen dos ID de usuario: un ID de usuario del sistema y un ID de usuario de aplicación. IBM MQ puede establecer el campo de ID de usuario del descriptor de mensajes de IBM MQ (MQMD) a partir del ID de usuario del sistema que se ha utilizado en el mensaje de integración de servicios. Es necesario un proceso adicional para conservar el ID de usuario de la aplicación de integración de servicios cuando se interactúa con IBM MQ utilizando un servidor IBM MQ.
- un ID de usuario de sistema: En general, el ID de usuario de sistema se establece en la identidad del usuario que ha producido el mensaje, que se especifica cuando el usuario se conecta al bus. El ID del usuario del sistema almacenado en el mensaje no puede ser modificado por el código de aplicación.
- un ID de usuario de aplicación: Éste corresponde a la propiedad de mensaje JMSXUserID y puede ser establecido por el código de aplicación.
IBM MQ se puede configurar para establecer el campo de identificador de usuario del descriptor de mensaje (MQMD) de IBM MQ a partir del ID de usuario del sistema utilizado en el mensaje de integración de servicios. No obstante, sólo existe un único campo para los identificadores de usuario en el MQMD. Si el destino permite utilizar cabeceras MQRFH2, el ID de usuario de aplicación presente en el mensaje se pone en la carpeta <sib> de la cabecera RFH2 utilizando una clave de jsApiUserId.
- Si el servidor IBM MQ se ha configurado para confiar en los ID de usuario, el ID de usuario de sistema del mensaje de integración de servicios se copia del ID de usuario en el MQMD.
- Si el servidor IBM MQ no se ha configurado para confiar en los ID de usuario, el ID de usuario del sistema del mensaje de integración de servicios se establece en el nombre del servidor IBM MQdel que se ha recibido el mensaje.
- Un servidor IBM MQ, QM1
- Un miembro del bus del servidor IBM MQ con el atributo trustUserIds establecido en FALSE.
- Un destino del tipo de cola, Q1 asignado al miembro del bus del servidor IBM MQ.
Independientemente de cómo se establezca el ID de usuario del sistema del mensaje de integración de servicios, el ID de usuario de aplicación siempre se establece a partir del valor jsApiUserId RFH2. Si no está presente este valor, ya sea porque el par de valores no está presente en la carpeta <sib> de la cabecera RFH2 o bien porque el mensaje no tiene una cabecera RFH2, este campo no se establecerá.
Cuando los ID de usuario de seguridad se transportan al descriptor de mensajes de MQMD, su longitud está limitada a 12 caracteres. Los ID de usuario cuya longitud es más larga se truncan.