有许多位置可以定义用户名和密码:
activemq.xml
users.properties
groups.properties
credentials.properties
credentials-enc.properties
我在activemq.xml
中使用authorizationPlugin
。我认为用户/通行证适用于特定目的地
authorizationPlugin
中的组如何与groups.properties
相关credentials.properties
和credentials-enc.properties
何时使用- 与
credentials.properties
和credentials-enc.properties
相比,user.properties
的密码将如何使用 - 文件中的用户/通行证/组是否有必要匹配(
users.properties
/groups.properties
除外(
基本上我想要
- TCP端口上的用户/通行证
- web控制台上的用户/通行证
- 每个目的地的用户/通行证
这里有一个很好的参考:ActiveMQ Security
我建议从获取用户+密码开始,然后添加授权。授权通常由绑定到目标或目标通配符的组或角色完成。请确保创建一个"allusers"组或"allrole",因为您通常希望授予所有用户访问topic://ActiveMQ.Advisory.>目标通配符。
分布中的不同文件由不同的样例设置提供。
假设Apache ActiveMQ分发
- conf/login.config定义ActiveMQ用于验证和授权用户和组的文件
- conf/jetty-realm.properties定义web控制台用于验证和授权web控制台访问的文件
请注意,对于未来的读者,有一个JIRA可以将ActiveMQ中的所有身份验证合并到一组文件中。遵循JIRA AMQ-8391
请记住,这些"静态"命名用户和组中的许多用于开发人员本地测试或用于在单元测试中运行代理。通常,生产系统会希望使用JAAS。