管理员更改{W 44}后,WSO2 MB异常

时间:2016-10-07 15:10:37

标签: wso2 wso2esb wso2mb

我尝试在同一个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。

非常感谢你。

1 个答案:

答案 0 :(得分:0)

AFAIU,以下是您遵循的步骤。

  1. 更改了MB默认用户名/密码。
  2. 以MB为单位创建新用户(“技术用户”),并在ESB“jndi.properties”文件中添加这些用户名/密码。
  3. 重新启动的服务器和ESB开始抛出auth例外。
  4. 事情会出错(至少我能想到的)如下:

    1. 不知何故,您在用户名“技术用户”中间输入了空格(即使它在MB管理控制台中验证) 解决方案:不要在用户名中使用空格。
    2. 即使您已经用MB创建了一个新用户(并在ESB中的jndi.properties文件中正确添加),您还没有分配一个有权订阅主题/队列的角色。 (这很可能是你搞砸了:))

      如果您尚未分配对队列/主题具有订阅权限的角色,则ESB将无法在传输启动期间使用给定凭据进行订阅,从而导致身份验证异常。

      MB具有基于角色的权限模型,如果您尚未将用户分配给具有足够权限的角色,则用户将无法对MB进行身份验证。要验证此理论,您可以从MB管理控制台(“管理控制台”下为新创建的用户分配“admin”角色。 主页>配置>账户&证书>用户和角色>用户“)并重新启动ESB服务器。 请仔细阅读以下文档[1],以获取更多权限/用户/用户角色相关信息。

      [1] https://docs.wso2.com/display/MB310/Managing+Queues

      https://docs.wso2.com/display/MB310/Configuring+Users

      https://docs.wso2.com/display/MB310/Role-Based+Permissions