将用户添加到 ActiveMQ Artemis 失败

Zig*_*ust 3 activemq-artemis

我需要一些有关向 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";
};
Run Code Online (Sandbox Code Playgroud)

通常我们这样做是为了添加新用户

./artemis user add --user newUser --password newPassword --role Apps,newUser
Run Code Online (Sandbox Code Playgroud)

但升级到 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)
Run Code Online (Sandbox Code Playgroud)

有想法该怎么解决这个吗?

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

Dom*_*ino 7

artemis user由于 ActiveMQ Artemis 2.16在代理离线且命令参数更改时不再可能使用命令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用于添加新用户。

您可以在从旧版本升级中找到更多详细信息