当前位置: 首页 > 知识库问答 >
问题:

使用定制JAAS访问Jolokia

汲灿
2023-03-14

在ActiveMQ Artemis中,当我在自定义JAAS登录模块中使用requiredrequired标志时,我无法登录到Artemis管理控制台(Jolokia,端口8163)。我在自定义JAAS登录模块中有特殊的业务逻辑,该模块对移动设备进行身份验证。但同时我想有一个管理员用户,可以登录到Artemis管理控制台与一些用户名/密码,甚至没有密码。为了在Artemislogin中同时拥有自定义和来宾登录模块。配置,我必须至少将自定义JAAS模块的安全标志保持为足够。我该如何处理这种情况?

共有1个答案

微生自怡
2023-03-14

Hawtio使用的安全“领域”是通过Hawtio配置的。领域etc/artemis中设置的系统属性。个人资料。例如,以下是默认设置:

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,它与默认登录中的条目相匹配。配置,例如:

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最近增加了对每接受方安全域的支持。您可以在文档中了解更多信息。

 类似资料:
  • cmf_check_user_action($object = "", $countLimit = 1, $ipLimit = false, $expire = 0) 功能 检查用户对某个url内容的可访问性,用于记录如是否赞过,是否访问过等等;开发者可以自由控制,对于没有必要做的检查可以不做,以减少服务器压力 参数 $object: string 要检查权限的用户 ID $countLimit

  • 访问控制限制其他源文件和模块对你的代码的访问。这个特性允许你隐藏代码的实现细节,并指定一个偏好的接口让其他代码可以访问和使用。 你可以给特定的单个类型 (类,结构体和枚举)设置访问级别,比如说属性、方法、初始化器以及属于那些类型的下标。协议可以限制在一定的范围内使用,就像全局常量,变量,函数那样。 除了提供各种级别的访问控制,Swift 为典型场景提供默认的访问级别,减少了显式指定访问控制级别的需

  • 访问控制用于设置访问负载均衡的IP白名单或IP黑名单。 访问控制用于设置访问负载均衡的IP白名单或IP黑名单,在访问控制策略组中仅可以设置IP地址范围,在配置负载均衡实例监听时可设置是否启用访问控制,并设置针对具体的访问控制策略组设置访问白名单或黑名单。 访问控制来源: 同步公有云上被实例上的监听绑定的访问控制,并自动在访问控制缓存里添加一条记录,同步下来的访问控制默认本域共享。 在云管平台上创建

  • 在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。 但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的name、score属性: >>> bart = Student('Bart Simpson', 98) >>> bart.score 98 >>> bart.score = 59 >>> bart.sc

  • 在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。 但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的name、score属性: >>> bart = Student('Bart Simpson', 59) >>> bart.score 59 >>> bart.score = 99 >>> bart.sc

  • cmf_check_user_action($object = "", $countLimit = 1, $ipLimit = false, $expire = 0) 功能 检查用户对某个url内容的可访问性,用于记录如是否赞过,是否访问过等等;开发者可以自由控制,对于没有必要做的检查可以不做,以减少服务器压力 参数 $object: string 访问对象的id,格式:不带前缀的表名+id;如