我不想将用户信息存储在artemis服务器中,因为我的身份验证将基于KDF。因此,将基于客户端的某些密钥来动态验证用户。验证后,我想根据某个角色为用户设置max-connections
和max-queues
。
broker.xml :
<resource-limit-settings>
<resource-limit-setting match="myUser">
<max-connections>5</max-connections>
<max-queues>3</max-queues>
</resource-limit-setting>
</resource-limit-settings>
如何在运行时传递UserId(“ myUser”),以便可以为每个经过身份验证的用户设置资源限制设置?
与地址设置中的匹配不同,此匹配不使用任何通配符语法。这是将限制与用户进行简单的1:1映射。
答案 0 :(得分:0)
您引用的文档进行了总结。您不能基于角色设置限制。您只能根据用户设置限制。您要为其设置限制的每个用户都必须在broker.xml
中进行枚举。与其他设置(例如address-settings
,security-settings
等)不同,没有用于资源限制的管理API,因此无法在运行时添加/删除/更改它们。
当然,这里的功能可以增强。 ActiveMQ Artemis是一个开放源代码的Apache项目,欢迎任何贡献。