我尝试在同一个VM上进行生产设置(WSO2 MB 3.1.0和WSO2 ESB 4.9.0)。 为了保护我的生产环境,我将管理员用户的默认管理员psw更改为更安全的管理员。与此同时,我创建了一个新的MB用户(ESB),我用它作为技术用户"在ESB jndi.properties中
当我重新启动服务器时,我开始在尝试连接到MB的ESB中收到以下异常: [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:不允许] at org.wso2.andes.client.handler.ConnectionCloseMethodHandler.methodReceived(ConnectionCloseMethodHandler.java:79) at org.wso2.andes.client.handler.ClientMethodDispatcherImpl.dispatchConnectionClose(ClientMethodDispatcherImpl.java:192) 在org.wso2.andes.framing.amqp_0_91.ConnectionCloseBodyImpl.execute(ConnectionCloseBodyImpl.java:140) at org.wso2.andes.client.state.AMQStateManager.methodReceived(AMQStateManager.java:111) at org.wso2.andes.client.protocol.AMQProtocolHandler.methodBodyReceived(AMQProtocolHandler.java:517)
我将问题回溯到ADMIN psw的更改。当我将其设置回默认的ADMIN:ADMIN时,所有工作正常。
任何想法为什么?显然psw并没有在所有的地方改变
我遵循了这篇文章https://docs.wso2.com/display/MB220/Changing+User+Passwords
我的配置xmls不包含admin psw。
非常感谢你。
答案 0 :(得分:0)
AFAIU,以下是您遵循的步骤。
事情会出错(至少我能想到的)如下:
即使您已经用MB创建了一个新用户(并在ESB中的jndi.properties文件中正确添加),您还没有分配一个有权订阅主题/队列的角色。 (这很可能是你搞砸了:))
如果您尚未分配对队列/主题具有订阅权限的角色,则ESB将无法在传输启动期间使用给定凭据进行订阅,从而导致身份验证异常。
MB具有基于角色的权限模型,如果您尚未将用户分配给具有足够权限的角色,则用户将无法对MB进行身份验证。要验证此理论,您可以从MB管理控制台(“管理控制台”下为新创建的用户分配“admin”角色。 主页>配置>账户&证书>用户和角色>用户“)并重新启动ESB服务器。 请仔细阅读以下文档[1],以获取更多权限/用户/用户角色相关信息。
[1] https://docs.wso2.com/display/MB310/Managing+Queues