ActiveMQ Apollo是否实现了JMSXUserID或类似的工具来帮助跟踪经过身份验证的用户?
我知道ActiveMQ支持JMSXUserID属性: 我正在尝试使用Apollo(ActiveMQ子项目)而不是ActiveMQ,目前我一直在尝试在Apollo中复制同样的行为 我对机制并不挑剔,但简而言之,我需要某种方法来标记来自经过身份验证的用户的每个传入消息,并使用标识符让我知道是哪个用户发送了哪个消息,但用户不能通过设置自己来欺骗。这基本上正是ActiveMQ使用JMSXUserID的目的,但我似乎不知道如何在Apollo中做同样的事情 我错过了什么 我发现谷歌很难做到这一点,因为ActiveMQ在每一个页面上都链接到Apollo,所以我的大部分搜索结果都没有帮助ActiveMQ Apollo是否实现了JMSXUserID或类似的工具来帮助跟踪经过身份验证的用户?,jms,activemq,userid,apollo,Jms,Activemq,Userid,Apollo,我知道ActiveMQ支持JMSXUserID属性: 我正在尝试使用Apollo(ActiveMQ子项目)而不是ActiveMQ,目前我一直在尝试在Apollo中复制同样的行为 我对机制并不挑剔,但简而言之,我需要某种方法来标记来自经过身份验证的用户的每个传入消息,并使用标识符让我知道是哪个用户发送了哪个消息,但用户不能通过设置自己来欺骗。这基本上正是ActiveMQ使用JMSXUserID的目的,但我似乎不知道如何在Apollo中做同样的事情 我错过了什么 我发现谷歌很难做到这一点,因为Ac
提前感谢。阿波罗甚至支持JMS吗 从网页: 在它的当前版本中,Apollo只支持STOMP协议,但与最初的ActiveMQ一样,它被设计为一个多协议代理。在未来的版本中,它将添加OpenWire支持,以便与ActiveMQ 5.x JMS客户端兼容 为了解决您手头的问题,您不能简单地在代码中添加一个带有userid的头吗 只要从操作系统中获取它,假设您正在使用Java,那么您可能会使用
System.getProperty("user.name")
并将其连接到跺脚头上。但是,这是客户机库(如果使用了stomp库)的问题,而不是服务器本身的问题 阿波罗的用户手册描述了这一点 基本上,您希望使用以下内容配置连接器的stomp协议:
<connector id="tcp" bind="tcp://0.0.0.0:61613">
<stomp>
<add_user_header separator=",">JMSXUserID</add_user_header>
</stomp>
</connector>
我们愿意解决这个问题 Apollo确实支持JMS。Apollo examples文件夹中的安装目录中有一个示例JMS客户端,Hiram发布了一个基准测试工具,将Apollo JMS与其他服务器进行比较:为了更直接地响应您的建议,您建议我将添加额外stomp头的代码放在哪里?在服务器上?它根本不涉及客户机库,因为我们不能信任用户域中的代码。Apollo已经使用JAAS对用户进行了身份验证……我正在寻找一种方法,将该身份验证附加到通过Apollo的Stomp/JMS消息中。