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