原文地址:http://blog.csdn.net/ichsonx/article/details/8540004
http://log-cd.iteye.com/blog/585616
http://blog.csdn.net/scorpio3k/article/details/5860433
----------------------------------------------------------------------------------------------------------------------------------
AMQ的安全配置分为:AMQ Broker(连接服务安全配置)和AMQ Console(控制台安全配置)两部分;
----------------------------------------------------------------------------------------------------------------------------------
1.控制台安全配置
ActiveMQ使用的是jetty服务器, 打开conf/jetty.xml文件,找到
- <bean id="securityConstraint" class="org.eclipse.jetty.http.security.Constraint">
- <property name="name" value="BASIC" />
- <property name="roles" value="admin" />
- <property name="authenticate" value="false" />
- </bean>
将property name为authenticate的属性value="false" 改为"true",设置成使用登录密码。
控制台的登录用户名密码保存在conf/jetty-realm.properties文件中。
用户格式定义: 用户名:密码[角色] 用户名为admin,密码为admin,角色为admin的用户
控制台访问地址: http://127.0.0.1:8161/admin/
----------------------------------------------------------------------------------------------------------------------------------
2.JMS服务安全配置 ------分为两种 :简单的证书文件安全认证和 JASS认证
2.1 、简单的安全认证(使用SimpleAuthenticationPlugin)
(1)设置证书文件,conf/credentials.properties 文件中设置用户名和密码:
- activemq.username=logcd
- activemq.password=028cd
(2)配置simpleAuthenticationPlugin,简单认证插件
- <!--加载属性配置文件-->
- <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
- <property name="locations">
- <value>file:///${activemq.base}/conf/credentials.properties</value>
- </property>
- </bean>
注意 :plugins标签 加在 broker标签中
- <!--在Broker中,配置插件-->
- <plugins>
- <simpleAuthenticationPlugin>
- <users>
- <authenticationUser username="${activemq.username}" password="${activemq.password}" groups="users,admins"/>
- </users>
- </simpleAuthenticationPlugin>
- </plugins>
(3)在connectionFactory中,使用用户名和密码。
- ConnectionFactory cf = new ActiveMQConnectionFactory("logcd", "028cd", "tcp://195.2.199.169:61616")
- <bean id="queueConnectionFactory"
- class="org.apache.activemq.spring.ActiveMQConnectionFactory" >
- <property name="brokerURL" value="tcp://195.2.199.169:61616" />
- <property name="userName" value="logcd" />
- <property name="password" value="028cd" />
- <property name="useAsyncSend" value="true"/>
- </bean>
2.2 JAAS身份验证
2.2.1 .在conf/activemq.xml文件 borker 标签中加入 配置使用JAAS策略,并定义配置模块为activemq-domain.
- <plugins>
- <!--use JAAS to authenticate using the login.config file on the classpath to configure JAAS -->
- <jaasAuthenticationPlugin configuration="activemq-domain" />
- <!-- 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>
login.config 内容如下:
- activemq-domain {
- org.apache.activemq.jaas.PropertiesLoginModule required
- debug=true
- org.apache.activemq.jaas.properties.user="users.properties"
- org.apache.activemq.jaas.properties.group="groups.properties";
- };
- #group=userName
- admins=system
- #userName=password
- system=manager
相关推荐
对于与数据库的集成,如`activemq数据库,验证持久化标准配置.txt`所示,ActiveMQ支持使用JDBC进行持久化,确保在故障恢复时数据的完整性。 总之,`activemq.xml`配置文件是管理ActiveMQ核心行为的核心,通过细致地...
安全性配置 在`<plugins>`标签下,你可以添加安全插件来控制用户访问和权限。例如,使用JaasAuthenticationPlugin配置用户名和密码: ```xml <jaasAuthenticationPlugin configuration="activemq-domain"/> ```...
- **配置文件**:ActiveMQ的配置主要通过`activemq.xml`文件进行,这个XML文件定义了服务器的启动参数、网络连接、消息存储和安全设置等。 - **Broker配置**:Broker是ActiveMQ的核心,配置中包括了broker的名称、...
总的来说,配置Tomcat下的ActiveMQ HTTP连接涉及到多个方面,包括XML配置文件的修改、Web控制台的部署、安全性的设置以及Stomp协议的使用。理解这些知识点,能帮助你在实际开发中有效利用ActiveMQ实现可靠的消息传递...
配置通常涉及设置 broker 的端口、存储路径、安全设置和网络连接等。一旦安装完成,就可以通过各种语言和协议的客户端开始使用ActiveMQ进行消息传递。 总的来说,ActiveMQ 是一个强大、灵活且全面的消息中间件,...
在IT领域,消息队列(Message Queue)是分布式系统中常用的一种组件,它负责处理应用程序之间的...注意,实际操作中可能还需要考虑网络环境、安全性、性能调优等方面的问题,但以上内容已涵盖了基本的集群配置流程。
5. **安全性**:在`<plugins>`元素下可以配置安全策略,如用户、角色和权限。ActiveMQ支持JAAS(Java Authentication and Authorization Service)进行身份验证和授权。 三、ActiveMQ的使用入门 1. **安装与启动**...
- **安全性**:可以通过设置用户、角色和权限来保护ActiveMQ,这通常在`conf/users.properties`和`conf/credentials.properties`中完成。 - **网络配置**:如果你有多个ActiveMQ节点,可能需要配置网络连接器以实现...
5. **安全性与性能优化**: - 为了提高性能,你可能需要对数据库进行一些优化,例如调整索引、设置适当的缓存大小等。 - 此外,确保MySQL服务器和ActiveMQ运行在同一网络内,以减少网络延迟。 - 使用强密码和限制...
- **activemq.xml**:这是ActiveMQ的主要配置文件,包含了服务器端口、持久化策略、网络连接、安全性等设置。 - **users.xml** 和 **groups.xml**:用于定义ActiveMQ用户的访问控制,包括用户名、密码和权限。 - **...
6. **安全性**:为了保护消息传递的安全,可以配置用户认证和授权,以及SSL/TLS加密。 接下来,我们来看JDK 1.6。这是Java的一个早期版本,提供了运行Java应用程序的基础环境。JDK 1.6包含Java编译器(javac)、...
SSL(Secure Socket Layer)是用于确保网络通信安全的一种标准协议,而双向认证(Mutual SSL/TLS Authentication)则进一步增强了这种安全性,它要求服务器验证客户端的身份,同时也要求客户端验证服务器的身份。...
在实际的生产环境中,为了确保消息传输的安全性,我们通常会使用 SSL/TLS 协议来加密通信。本 Demo 将向你展示如何配置 ActiveMQ 以使用 SSL 加密文件,帮助初学者快速理解并实践这一关键安全措施。 首先,了解 SSL...
安全性配置则涉及到用户认证、权限控制等内容,确保只有授权用户才能访问特定的消息队列或主题。 ### 使用ActiveMQ 使用ActiveMQ创建Java应用时,可以利用其提供的JMS API,通过简单的代码即可实现消息的发送和...
在实际应用中,开发者需要注意WebSocket的安全性,比如使用WSS(WebSocket over SSL/TLS)来确保数据传输的安全,以及对连接的管理和错误处理,确保系统的稳定性和可靠性。同时,为了优化性能,可能还需要考虑连接池...
在实际应用中,ActiveMQ的配置可能需要根据具体的业务需求进行调整,例如设置消息持久化、网络连接策略、安全性、日志记录等。消息中间件的核心作用在于提供异步处理、解耦系统组件、实现负载均衡和容错机制。...
Apache ActiveMQ是Apache软件...它支持多种协议,具备高可用性和安全性,并且易于安装和配置。通过理解和熟练掌握ActiveMQ,开发者可以构建稳定、高效的分布式系统,有效地处理物联网和其他应用场景中的大量实时数据。
5. **安全控制**:ActiveMQ支持用户认证和授权,可配置SSL/TLS加密,保障通信安全。 6. **管理工具**:提供Web Console和JMX接口,方便管理员监控和管理消息队列。 二、ActiveMQ应用场景 1. **解耦应用**:在...
13. 管理和安全:涉及如何使用ActiveMQ Artemis的管理控制台进行系统管理,包括安全性配置。 14. 群集:讨论了如何设置和管理ActiveMQ Artemis群集以确保高可用性和故障转移。 15. 高可用性和故障转移:介绍了...
7. **持久化与非持久化消息**:了解消息的持久性配置,这决定了消息在服务器重启后是否仍然可用。 8. **事务处理**:学习如何在ActiveMQ中使用JMS事务确保消息的一致性和可靠性。 9. **性能监控**:ActiveMQ提供了...