Исключение аутентификации безопасности WebSphere MQ в Unix - PullRequest
1 голос
/ 15 июня 2011

У нас есть приложение, работающее в системе Sun Solaris, и локальная установка WebSphere MQ. Приложение использует режим привязок для подключения к администратору очередей. При попытке отправить сообщение в локальную очередь привязка JNDI прошла успешно, но мы сталкиваемся с ошибкой javax.jms.JMSSecurityException: MQJMS2013: invalid security authentication supplied for MQQueueManager. При расследовании выяснилось, что учетные данные (идентификатор пользователя), используемые для аутентификации, не чувствительны к регистру, как у пользователя, на котором запущено приложение. Идентификатор пользователя совпадает, но не учитывает регистр. По умолчанию пользователь, на котором запущено приложение, будет передан для аутентификации, но здесь совпадение с учетом регистра не выполняется. Сервер приложений WebLogic. Цените любые входные данные.

Ответы [ 2 ]

0 голосов
/ 17 июня 2011

Мы использовали createQueueConnection () в QueueConnectionFactory для создания соединения, и проблема была решена с помощью метода createQueueConnection ("", ""). Идентификатор пользователя unix (webA) чувствителен к регистру, и приложение пыталось пройти аутентификацию на MQ с использованием идентификатора пользователя без учета регистра (weba), а менеджер очередей MQ отклонял попытку подключения. Не могли бы вы рассказать нам, почему приложение отправляло идентификатор пользователя (weba) без учета регистра?

Спасибо, Arun

0 голосов
/ 15 июня 2011

Чтобы открыть локальную очередь, приложение должно сначала успешно подключиться к администратору очередей. Ошибка в удаленной очереди является ошибкой соединения, поэтому она даже не попадает в администратор очередей. Это говорит о том, что вы используете разные фабрики соединений и что вторая имеет некоторые различия в параметрах связи. Первый шаг - примирить эти различия.

Кроме того, ошибка безопасности MQJMS2013 может быть связана со многими вещами, большинство из которых на самом деле не являются проблемами MQ. Например, некоторые люди хранят свои управляемые объекты в LDAP, и проблема аутентификации выдает эту ошибку. Для людей, которые используют JNDI на основе файловой системы, права доступа к файлам ОС могут вызывать то же самое. Однако, если это фактическая проблема WMQ (что, по-видимому, и есть), то связанное исключение будет содержать код причины MQ (например, MQRC = 2035). Если вы хотите лучше диагностировать проблемы MQ (или, если на то пошло, любого транспорта JMS), стоит привыкнуть печатать связанные исключения.

Если вы не можете решить эту проблему на основе этого ввода, я бы посоветовал обновить вопрос с подробной информацией об определениях управляемых объектов и коде причины, полученном при печати связанных исключений.

...