使用activemq的名称模式创建/访问经过身份验证的队列
您好,我想配置activemq以保护队列访问和创建使用activemq的名称模式创建/访问经过身份验证的队列,activemq,apache-camel,Activemq,Apache Camel,您好,我想配置activemq以保护队列访问和创建 client.<client-id>.sub client..sub client..pub 然后创建一个骆驼重定向到一个唯一队列,在重定向的消息上添加客户端id头 有什么建议吗 PS请忘记我的英语您处理ActiveMQ队列和主题授权的方式是通过前缀和用户级别的authorizationPlugin <authorizationPlugin> <map> <autho
client.<client-id>.sub
client..sub
client..pub
然后创建一个骆驼重定向到一个唯一队列,在重定向的消息上添加客户端id头
有什么建议吗
PS请忘记我的英语您处理ActiveMQ队列和主题授权的方式是通过前缀和用户级别的authorizationPlugin
<authorizationPlugin>
<map>
<authorizationMap>
<authorizationEntries>
<authorizationEntry queue="client.client123.>" read="client123" write="client123" admin="admins" />
<authorizationEntry topic="client.client123.>" read="client123" write="client123" admin="admins"/>
... etc. for other clients.
</authorizationEntries>
问题是什么?你试过什么?什么不管用?我不知道怎么办。我需要一个建议,使一个poc(安全处理程序/策略,听众,我不知道)-嗨佩特,谢谢你的回答。是否可以对客户端id使用变量或通配符?客户端id是动态的。您好,在我的示例中,路由使用的是动态客户端id。显然,对于授权,您需要配置每一个
from("jms:queue:client.>")
.process(new Processor(){
@Override
public void process(Exchange exchange) throws Exception {
String queue = exchange.getIn().getHeader("JMSDestination").toString();
// queue name is: queue://client.<client_id>.xx
String clientId = queue.substring(queue.indexOf(".")+1);
int idx = clientId.lastIndexOf(".");
clientId = clientId.substring(0,idx);
System.out.println("ClientID: " + clientId);
exchange.getIn().setHeader("SendingClientId", clientId);
}
})
.to("jms:queue:collector.queue");