#wso2 #wso2esb #wso2mb
#wso2 #wso2-message-broker #wso2-esb
Вопрос:
Я попытался создать производственную настройку (WSO2 MB 3.1.0 и WSO2 ESB 4.9.0) на той же виртуальной машине. чтобы обезопасить свою производственную среду, я изменил admin psw по умолчанию для пользователя admin на более безопасный. В то же время я создал нового пользователя MB (ESB), которого я использовал как «технического пользователя» в ESB jndi.properties
когда я перезапустил свой сервер, я начал получать следующее исключение в ESB, которое пыталось подключиться к MB: [2016-10-07 16:47:31,427] ОШИБКА — AMQStateManager Уведомляет официантов ([org.wso2.andes.client.state.StateWaiter@654a6148]) из-за ошибки: не разрешено [2016-10-07 16:47:31,427] INFO — AMQConnection Не удается подключиться к брокеру по протоколу tcp://localhost:5673 org.wso2.andes.client.Исключение AMQAuthenticationException: не разрешено [код ошибки 530: не разрешено] в org.wso2.andes.client.handler.ConnectionCloseMethodHandler.methodReceived(ConnectionCloseMethodHandler.java:79) в org.wso2.andes.client.handler.Clientmethod dispatcherimpl.dispatchConnectionClose(clientmethod dispatcherimpl.java:192) в org.wso2.andes.framing.amqp_0_91.ConnectionCloseBodyImpl.execute(ConnectionCloseBodyImpl.java:140) в org.wso2.andes.client.state.AMQStateManager.methodReceived(AMQStateManager.java:111) получен в org.wso2.andes.client.protocol.AMQProtocolHandler.methodBodyReceived(AMQProtocolHandler.java:517)
Я отследил проблему до изменения psw АДМИНИСТРАТОРА. Когда я возвращаю значение ADMIN по умолчанию: ADMIN, все снова работает нормально.
есть идеи, почему? по-видимому, psw не изменен во всех местах, где я следил за этой статьей https://docs.wso2.com/display/MB220/Changing User Passwords
однако мои конфигурационные XML-файлы не содержат admin psw.
заранее большое вам спасибо.
Ответ №1:
AFAIU, ниже приведены шаги, которые вы выполнили.
- Изменено имя пользователя / пароль MB по умолчанию.
- Создал нового пользователя («технический пользователь») в MB и добавил эти имя пользователя / пароль в ESB-файл «jndi.properties».
- Перезапущенные серверы и ESB начинают выдавать исключения аутентификации.
Все пошло бы не так (по крайней мере, то, что я могу придумать), заключается в следующем :
- Каким-то образом вы ввели пробелы в середине имени пользователя «технический пользователь» (даже если оно проверено в консоли управления MB) Решение: не используйте пробелы в именах пользователей.
-
Даже если вы создали нового пользователя в MB (и правильно добавили его в файл jndi.properties в ESB), вы не назначили роли, у которых есть разрешение на подписку на тему / очередь. (Это то, что, скорее всего, вы перепутали :))
Если вы не назначили роль, у которой есть разрешения на подписку на очереди / темы, ESB не сможет подписаться с указанными учетными данными во время запуска транспорта, что приводит к исключениям аутентификации.
MB имеет модель разрешений на основе ролей, и если вы не назначили пользователю роль с достаточными разрешениями, пользователь не сможет пройти аутентификацию в MB. Чтобы проверить эту теорию, вы можете назначить роль «администратор» вновь созданному пользователю из консоли управления MB в разделе («Главная> Настройка> Учетные записи и учетные данные> Пользователи и роли> Пользователи») и перезапустить ESB server. Пожалуйста, внимательно просмотрите следующую документацию [1] для получения дополнительной информации, связанной с разрешениями / пользователями / ролями пользователей.
[1] https://docs.wso2.com/display/MB310/Managing Queues