activemq安全机制

1.web控制台安全:
我们默认登录页面访问activemq服务器信息,用户名和密码都是admin,admin。这样在实际应用中是不合适的,需要改成 自己设定好的账户密码
第一步:/conf/jetty.xml 将配置项authenticate值改为 true,默认都是true.
第二步:/conf/jetty-realm.properties 设置用户名和密码(自己定义的),格式为--> 用户名:密码:角色名

2.消息服务器Broker安全
这个相当于,之前直接访问路径tcp://192.168.120.128:61616不需要用户名和密码,现在给加上用户名和密码才能连接成功。
方式一:添加访问密码,
在conf/activemq.xml文件中的的<broker>内加上:
<plugins> 		
			<simpleAuthenticationPlugin>    				
				<users>    					
					<authenticationUser username="system" password="123456" groups="users,admins"/>
					<authenticationUser username="user" password="123456"  groups="users"/>    
					<authenticationUser username="guest" password="123456" groups="guests"/>    
				</users>    			
			</simpleAuthenticationPlugin>    		
		</plugins>

对应代码的三种操作(常规,集成spring,集成springboot)。
常规:
ConnectionFactory cf = new ActiveMQConnectionFactory("system","123456","tcp://192.168.126.128:61616");
集成spring:
<bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
    	<property name="brokerURL" value="tcp://192.168.126.128:61616"/>
    	<property name="userName" value="system"/>
    	<property name="password" value="123456"/>
    </bean>
集成springboot:
spring.activemq.broker-url=tcp://192.168.126.128:61616
spring.activemq.user=system
spring.activemq.password=123456

方式二:使用JAAS身份验证和授权:
Java Authentication Authorization Service(JAAS,Java验证和授权服务),它可以通过插件的方式集成到你的应用程序中,提供验证和授权服务。
ActiveMQ加入JAAS身份验证,共4个文件配置:
1、activemq.xml
2、login.config,
3、groups.properties,
4、users.properties
第一步:在conf/activemq.xml文件中加上
<plugins>    
	<!--use JAAS to authenticate using the login.config file on the classpath to configure JAAS -->    
	<jaasAuthenticationPlugin configuration="activemq" />    
	<!--  lets configure a destination based authorization mechanism -->    
	<authorizationPlugin>    
		<map>    
			<authorizationMap>    
				<authorizationEntries>    
					<!-->表示通配符,例如USERS.>表示以USERS.开头的主题,>表示所有主题,read表示读的权限,write表示写的权限,admin表示角色组-->    
					<authorizationEntry queue=">" read="admins" write="admins" admin="admins" />    
					<authorizationEntry topic=">" read="admins" write="admins" admin="admins" />    
					<authorizationEntry queue="ActiveMQ.Advisory.>" read="admins" write="admins" admin="admins" />    
					<authorizationEntry topic="ActiveMQ.Advisory.>" read="admins" write="admins" admin="admins" />    
				</authorizationEntries>    
			</authorizationMap>    
		</map>    
	</authorizationPlugin>    
</plugins>

第二步:在conf目录下如下三个文件进行配置
ogin.config,
groups.properties,
users.properties
login.config配置:默认。。
activemq {  
              org.apache.activemq.jaas.PropertiesLoginModule required  
              org.apache.activemq.jaas.properties.user="users.properties"  
              org.apache.activemq.jaas.properties.group="groups.properties";  
};
groups.properties配置:跟users.properties对应的
#group=userName  
admins=system 
users.properties配置:
#userName=password  
system=123456












  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值