将用户添加到ActiveMQ Artemis失败

3
我需要一些关于在ActiveMQ Artemis中添加新用户和角色的帮助。版本是2.16。
在将ActiveMQ Artemis从2.9.0和2.10.1更新到2.16后,我们无法添加新用户。可能是由于安全协议或使用方式有所更新?
我们使用PropertiesLoginModule。
activemq {
   org.apache.activemq.artemis.spi.core.security.jaas.PropertiesLoginModule requisite
       debug=false
       reload=true
       org.apache.activemq.jaas.properties.user="artemis-users.properties"
       org.apache.activemq.jaas.properties.role="artemis-roles.properties";
};

通常我们这样做是为了添加一个新用户。
./artemis user add --user newUser --password newPassword --role Apps,newUser

但是在升级到2.16版本后,我们在CLI中遇到了后续问题:
--user-command-user
--user-command-password
我尝试在这些命令中添加管理员用户名/密码,但仍然出现相同的异常。
我得到了以下安全异常:
Connection failed::AMQ229031: Unable to validate user from /<IPAddress>:48000. Username: newUser; SSL certificate subject DN: unavailable
Exception in thread "main" ActiveMQSecurityException[errorType=SECURITY_EXCEPTION message=AMQ229031: Unable to validate user from /<IPAddress>:48002. Username: newUser; SSL certificate subject DN: unavailable]
        at org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:540)
        at org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl.sendBlocking(ChannelImpl.java:434)
        at org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQClientProtocolManager.createSessionContext(ActiveMQClientProtocolManager.java:300)
        at org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQClientProtocolManager.createSessionContext(ActiveMQClientProtocolManager.java:249)
        at org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.createSessionChannel(ClientSessionFactoryImpl.java:1401)
        at org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.createSessionInternal(ClientSessionFactoryImpl.java:705)
        at org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryImpl.createSession(ClientSessionFactoryImpl.java:316)
        at org.apache.activemq.artemis.cli.commands.AbstractAction.performCoreManagement(AbstractAction.java:36)
        at org.apache.activemq.artemis.cli.commands.user.AddUser.add(AddUser.java:52)
        at org.apache.activemq.artemis.cli.commands.user.AddUser.execute(AddUser.java:42)
        at org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:153)
        at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:101)
        at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:128)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:134)
        at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:50)

有关如何修复这个问题,有什么想法吗?

手册的安全部分中,我找不到任何提示。

1个回答

7
自ActiveMQ Artemis 2.16起,当经纪人离线时不再使用artemis user命令,并且artemis user命令的参数已更改,例如:./artemis user add --user-command-user guest --user-command-password guest --role admin --user admin --password admin--user--password参数用于连接到经纪人,--user-command-user--user-command-password参数用于添加新用户。
您可以在从旧版本升级中找到更多详细信息。

谢谢。那个方法有效。如果我查看最新的文档,里面没有这个内容。https://activemq.apache.org/components/artemis/documentation/latest/versions.html - ZiggyStardust

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接