经典版和Artemis都有自己的用户系统和默认的登录认证逻辑,但是当需要和业务系统集成,共享同一套用户/角色时,就需要自定义身份认证了。这里简单记录一下实现思路。
一、ActiveMQ经典版
1、自定义身份认证插件
- 新建maven工程,添加依赖
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-broker</artifactId>
<version>5.15.12</version>
<type>jar</type>
</dependency>
- 添加类,实现BrokerFilter的addConnection方法,完成登录验证。如果验证不通过,直接抛SecurityException异常即可。
- 添加类,实现BrokerPlugin的installPlugin方法,返回上一步的BrokerFilter对象。
- 编译为jar,放到activemq的/lib目录下
- 编辑conf/activemq.xml在broker节点下配置插件,重启activemq生效
<plug