长沙汉庭酒店预订:ActiveMQ
来源:百度文库 编辑:九乡新闻网 时间:2024/05/04 05:52:31
最近在研究activeMQ,在按照官网的例子和一些资料写了些小实例,并打算用它来进行发送邮件使用,使用的过程中涉及到了安全性的问题,我本是用的最新版本activemq5.3.2但是按照官网的资料,对这个版本的安全性配置提及很少,倒是没有出来的版本5.4.0里面的配置涉及到了,下载了一个5.4.0后发现果然配置起来相当简单。但是考虑到其还未发布,因此我对低一点版本的5.2.0进行了一个配置.
下文为ActiveMQ5.2配置的过程。
参考:http://activemq.apache.org/security.html
一、JMS服务安全性
1.打开activemq.xml,在 中增加
2.在conf目录下增加 login.config、groups.properties、users.properties
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";
};
groups.properties文件 内容如下:
admins=system
users.properties文件 内容如下:
system=manager
添加用户在users.properties文件下,group.properties为用户分组使用。
做好了如上的设置以后,程序再访问activeMQ的话就需要使用用户名和密码了。
二、管理控制台安全性
ActiveMQ缺省的管理是通过内置的jetty服务器,只要在浏览器中输入http://localhost:8161/admin,不需要登录,就可以对队列、主题及消息等进行管理,可以想象这非常不安全。
那么要解决管理控制台的安全性,除了通过修改管理端口号以及应用名称之外,最关键的也是需要进行配置,必须通过身份认证才能登录。
本文要说的方式主要是在不改变内置jetty的方式下,通过配置基本认证的方式来实现安全登录。
1.在activemq.xml中找到,增加realm设置
2.在login.config增加如下配置:
adminLoginModule {
org.mortbay.jetty.plus.jaas.spi.PropertyFileLoginModule required
debug="true"
file="${activemq.base}/conf/realm.properties";
};
3.在conf中增加realm.properties文件,内容如下:
# 用户名:密码,角色
system:MD5:1d0258c2440a8d19e716292b231e3190,admins
4.把 jetty-plus-6.1.9.jar 放到 ${activemq.base}/lib/web/中
5.通过命令:java -cp jetty-6.1.9.jar;jetty-util-6.1.9.jar org.mortbay.jetty.security.Password system manager 可以修改密码的md5
6.打开webapps/admin/WEB-INF/web.xml,增加如下配置:
adminRealm
/*
admins
BASIC
adminRealm
7.修改${activemq.base}/bin/activemq文件 找到ACTIVEMQ_OPTS,在后面追加:
%ACTIVEMQ_OPTS% %SUNJMX% %SSL_OPTS% -Djava.security.auth.login.config=%ACTIVEMQ_BASE%/conf/login.config
配置完成后,当访问http://localhost:8161/admin/时,将会弹出窗口以让用户输入登录帐号和密码。
期待5.4.0的发布,按照我下载的5.4.0,其配置远远简单了,只要修改jetty.xml的一个
即可,很简单http://activemq.apache.org/web-console.html上有介绍。 不过郁闷的是5.3.2没配置出来。
下文为ActiveMQ5.2配置的过程。
参考:http://activemq.apache.org/security.html
一、JMS服务安全性
1.打开activemq.xml,在
2.在conf目录下增加 login.config、groups.properties、users.properties
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";
};
groups.properties文件 内容如下:
admins=system
users.properties文件 内容如下:
system=manager
添加用户在users.properties文件下,group.properties为用户分组使用。
做好了如上的设置以后,程序再访问activeMQ的话就需要使用用户名和密码了。
二、管理控制台安全性
ActiveMQ缺省的管理是通过内置的jetty服务器,只要在浏览器中输入http://localhost:8161/admin,不需要登录,就可以对队列、主题及消息等进行管理,可以想象这非常不安全。
那么要解决管理控制台的安全性,除了通过修改管理端口号以及应用名称之外,最关键的也是需要进行配置,必须通过身份认证才能登录。
本文要说的方式主要是在不改变内置jetty的方式下,通过配置基本认证的方式来实现安全登录。
1.在activemq.xml中找到
2.在login.config增加如下配置:
adminLoginModule {
org.mortbay.jetty.plus.jaas.spi.PropertyFileLoginModule required
debug="true"
file="${activemq.base}/conf/realm.properties";
};
3.在conf中增加realm.properties文件,内容如下:
# 用户名:密码,角色
system:MD5:1d0258c2440a8d19e716292b231e3190,admins
4.把 jetty-plus-6.1.9.jar 放到 ${activemq.base}/lib/web/中
5.通过命令:java -cp jetty-6.1.9.jar;jetty-util-6.1.9.jar org.mortbay.jetty.security.Password system manager 可以修改密码的md5
6.打开webapps/admin/WEB-INF/web.xml,增加如下配置:
7.修改${activemq.base}/bin/activemq文件 找到ACTIVEMQ_OPTS,在后面追加:
%ACTIVEMQ_OPTS% %SUNJMX% %SSL_OPTS% -Djava.security.auth.login.config=%ACTIVEMQ_BASE%/conf/login.config
配置完成后,当访问http://localhost:8161/admin/时,将会弹出窗口以让用户输入登录帐号和密码。
期待5.4.0的发布,按照我下载的5.4.0,其配置远远简单了,只要修改jetty.xml的一个
即可,很简单http://activemq.apache.org/web-console.html上有介绍。 不过郁闷的是5.3.2没配置出来。
ActiveMQ
Apache ActiveMQ ?
ActiveMQ 5.2
activeMQ数据库配置
ActiveMQ-part2 - SpringSide Wiki - SpringSide...
ActiveMQ Security Authentication - 一切随风 - ItE...
activemq配置sqlserver的联接参数
Magic with JMS, MDBs, and ActiveMQ in Geronimo
结合Spring2.0和ActiveMQ进行异步消息调用
把ActiveMQ的控制台整合到你的web程序中-ahuaxuan -JavaEye技2术社...
spring整合activeMq 调试JMS<一> - 自娱自乐 - 51CTO技术博客
详解 HermesJMS 连接 ActiveMQ(附视频) - 豪客城 - 51CTO技术...