WebSphere 7, настройка фабрики соединений JMS Q без идентификатора пользователя: MQRC не авторизован

У меня есть экземпляр WebSphere 6 и экземпляр WebSphere 7. У каждого из них есть поставщик сообщений WebSphere MQ, фабрика соединений с очередью и очередь, настроенная аналогичным образом. Все поля идентификатора пользователя остаются пустыми, а псевдонимы аутентификации - "нет".

в WAS6 он работает нормально.

в WAS7 я получаю сообщение об ошибке:

JMSWMQ2013: The security authentication was not valid that was supplied for QueueManager 'MYQMNGR' with connection mode 'Client' and host name '10.11.22.33(51001)'.; nested exception is com.ibm.msg.client.jms.DetailedJMSSecurityException: JMSWMQ2013: The security authentication was not valid that was supplied for QueueManager 'MYQMNGR' with connection mode 'Client' and host name '10.11.22.33(51001)'. Please check if the supplied username and password are correct on the QueueManager you are connecting to; nested exception is com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2035' ('MQRC_NOT_AUTHORIZED').

что может отличаться в том, как WAS7 подключается к MQ по сравнению с WAS6, если нет идентификатора пользователя снабжен?

У меня нет видимости или доступа к этому MQ (версия 7), он не требует идентификатора пользователя при доступе из WAS 6, поэтому мне нужно, чтобы WAS7 работал одинаково.

1 ответов


In было 6 Если вы оставили ID пользователя в панели администрирования пустым, пробел был передан WMQ. WMQ будет запускать канал, даже если он не может определить удаленного пользователя, и в этом случае канал работает с полномочиями агента канала сообщений (MCA), который всегда является административным. Следовательно, в V6 он работает.

начиная с V7, клиент WMQ попытается немного сложнее определить, какой ID передать, если вы оставите его пустым в панели администратора WAS и получите идентификатор JVM и передадите что на CONNECT звонок. Это источник 2035 года.

правильный способ исправить это заключается в том, что администратор WMQ должен поместить идентификатор с низкими привилегиями в поле MCAUSER канала SVRCONN. Идентификатор должен быть авторизован для любых очередей, необходимых серверу Java EE, но не для очереди команд и различных других административных очередей. Это позволит решить проблему, которая была 7 отправляет нераспознанный ID и это предотвращает получение администратором удаленных клиентов любого типа доступ по этому каналу.

альтернативой является переход на панель администратора WAS для подключения WMQ и установка идентификатора пользователя в mqm. (Это работает, если WMQ работает в распределенной системе, отличной от Windows. Если WMQ работает на Windows, z / OS или что-то еще, замените эквивалентный идентификатор платформы здесь.) Хотя это будет получить был и работает, он не решает тот факт, что QMgr предоставляет административный доступ.

пожалуйста см. представление и лабораторию Wmq твердея на http://t-rob.net/links для более полного объяснения того, как определить и исправить базовое воздействие безопасности на QMgr.