Что такое MQSecurityExit в Java-классах WebSphere MQ? - PullRequest
4 голосов
/ 02 сентября 2011

Я пытаюсь найти документацию о том, что такое MQSecurityExit и как мы на самом деле реализуем его в Java. У меня просто есть очень маленькая идея об этом - как будто я верю, что это для аутентификации клиента MQ у поставщика MQ. Но не знаю, как это вписывается в общую архитектуру безопасности WebSphere MQ.

1 Ответ

6 голосов
/ 02 сентября 2011

Выход - это точка в коде поставщика, которая вызывает пользовательский или сторонний код для выполнения пользовательских функций. WebSphere MQ предоставляет точки выхода безопасности как на сервере, так и на клиенте. Обычное использование для выхода безопасности состоит в том, что после аутентификации соединения, выход устанавливает поле MCAUSER в канале для идентификатора пользователя, который был разрешен в аутентификации. Для этого значения авторизация выполняется.

Автономный серверный выход может аутентифицировать соединения на основе данных, переданных в запросе на соединение. Наиболее распространенными элементами, используемыми при выходе на стороне сервера, являются сведения о сертификате SSL, учетные данные пользователя, передаваемые от клиента, и информация о IP-подключении.

Пара выхода клиент / сервер может выполнять любую произвольно сложную аутентификацию. Например, выход на стороне клиента может запросить у пользователя идентификатор и пароль, зашифровать их и затем направить на выход на стороне сервера для проверки. Существует пара выходов SSPI, поставляемая с версией WMQ для Windows, которая аутентифицируется с использованием токенов Kerberos.

Выходы на стороне сервера должны быть написаны на C. В v6.0 и предыдущих версиях WebSphere MQ вам также требовалось написать выходы каналов на C. Начиная с версии 7 можно записывать выходы каналов в Java, как описано в документации здесь . Обратите внимание, что выходы из канала клиента наиболее полезны, когда они соединены с выходом на стороне сервера. Например, выход клиентского канала не принесет особой пользы, если он предоставит учетные данные для аутентификации, если нет выхода на стороне сервера, чтобы что-то с ними сделать.

Дополнительная информация о выходах доступна в Руководстве по связи .
Хорошо известным примером серверного выхода является BlockIP2 .

...