【问题标题】:<authorizationEntry queue="queue.>" read="test" write="test" admin="test" /><authorizationEntry queue="queue.>" read="test" write="test" admin="test" />
【发布时间】:2018-04-27 22:25:02
【问题描述】:

您好,之前我们使用下面的授权条目来访问(读/写)以"queue." 开头的队列。 来自activemq.xml的对应入口

<authorizationEntry queue="queue.>"
 read="test" write="test" admin="test" />

根据客户端(外部系统)的最新要求,是否可以访问以"queue.".开头的队列,无需凭据(用户名/密码) 请让我们知道我们必须在 activemq.xml 或配置中进行哪些更改以实现相同的效果,即无需凭据即可访问队列

这些队列用于使用 apache-camel ,spring DSL 语言创建的路由

【问题讨论】:

  • 要允许匿名访问代理,请使用anonymousAccessAllowed 属性并将其设置为true,如上所示。现在,当客户端在没有提供用户名和密码的情况下连接时,默认用户名(匿名)和组(匿名)将分配给其安全上下文。您可以使用此用户名和密码来授权客户端访问适当的代理资源(请参阅下一节)。您还可以使用anonymousUser 和anonymousGroup 属性更改将分配给匿名用户的用户名和组。
  • 感谢@Hassen Bennour 的快速响应根据您的评论,我们可以在activeMq.xml 中添加以下行,用户将能够在没有凭据的情况下访问队列 请确认。请给我一个相同的工作示例

标签: apache-camel activemq


【解决方案1】:

如文档中所述:

要允许匿名访问代理,请使用 anonymousAccessAllowed 属性并将其设置为true,如上所示。现在,当客户 连接时不提供用户名和密码,默认用户名 (anonymous) 和 group (anonymous) 将被分配给它的安全性 语境。您可以使用此用户名和密码来授权客户的 访问适当的代理资源(请参阅下一节)。你可以 还更改将分配给匿名的用户名和组 用户通过使用 anonymousUser 和 anonymousGroup 属性。 源代码http://activemq.apache.org/security.html#Security-Anonymousaccess

所以我认为这可以解决问题

<simpleAuthenticationPlugin anonymousAccessAllowed="true">
  <users>
    <authenticationUser username="system" password="manager" groups="users,admins" />
    <authenticationUser username="user" password="password" groups="users" />
    <authenticationUser username="guest" password="password" groups="guests" />
    <authenticationUser username="test" password="test" groups="test" />
  </users>
</simpleAuthenticationPlugin>


<authorizationEntry queue="queue.>" read="test,anonymous" write="test,anonymous" admin="test,anonymous" />

如果您使用咨询,则必须添加授权组才能创建咨询主题:

<authorizationEntry topic="ActiveMQ.Advisory.>" read="anonymous" write="anonymous" admin="anonymous"/>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-23
    • 1970-01-01
    • 2020-10-10
    • 2011-01-01
    相关资源
    最近更新 更多