使用自定义 JAAS 访问乔洛基亚



在ActiveMQ Artemis中,当我将requisiterequired标志与我的定制JAAS登录模块一起使用时,我无法登录到Artemis管理控制台(Jolokia,端口8163(。我在定制 JAAS 登录模块中具有特殊的业务逻辑,用于验证移动设备。但与此同时,我希望有一个管理员用户,他可以使用一些用户名/密码甚至没有密码登录Artemis管理控制台。为了在Artemislogin.config中同时拥有自定义和来宾登录模块,我必须至少保留自定义JAAS模块的安全标志sufficient。我该如何处理这种情况?

Hawtio 使用的安全"领域"是通过etc/artemis.profile中设置的hawtio.realm系统属性配置的。例如,下面是默认值:

JAVA_ARGS=" -XX:+PrintClassHistogram -XX:+UseG1GC -Xms512M -Xmx2G -Dhawtio.realm=activemq  -Dhawtio.offline=true -Dhawtio.role=amq -Dhawtio.rolePrincipalClasses=org.apache.activemq.artemis.spi.core.security.jaas.RolePrincipal -Djolokia.policyLocation=${ARTEMIS_INSTANCE_ETC_URI}jolokia-access.xml -Djon.id=amq"

这里hawtio.realm设置为activemq,与默认login.config中的条目匹配,例如:

activemq {
org.apache.activemq.artemis.spi.core.security.jaas.PropertiesLoginModule sufficient
debug=false
reload=true
org.apache.activemq.jaas.properties.user="artemis-users.properties"
org.apache.activemq.jaas.properties.role="artemis-roles.properties";
org.apache.activemq.artemis.spi.core.security.jaas.GuestLoginModule sufficient
debug=false
org.apache.activemq.jaas.guest.user="myUser"
org.apache.activemq.jaas.guest.role="amq";
};

我看不出您有任何理由不能将专门为 Hawtio 的新领域/域添加到您的login.config中,然后在artemis.profile中更改配置以引用它。这样,您可以根据需要自定义 Hawtio 连接和消息传递连接的安全性。

此外,值得注意的是,Artemis最近增加了对每个接受者安全域的支持。您可以在文档中阅读有关此内容的更多信息。

相关内容

  • 没有找到相关文章

最新更新