日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ActiveMQ 之安全认证

發布時間:2023/12/18 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ActiveMQ 之安全认证 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

默認安裝的activemq 使用 ActiveMQConnectionFactory 時沒有用戶名/密碼。只要有人知道了我們activemq服務器的ip和端口,就可以連上去消費掉我們的消息,所以我們需要給activemq設置一個username和pasword;

ActiveMQ也提供了安全認證。就是用戶名密碼登錄規則。ActiveMQ如果需要使用安全認證的話,必須在activemq的核心配置文件中開啟安全配置。配置文件就是conf/activemq.xml

配置文件:

conf/login.config
user代表用戶信息配置文件,group代表用戶組信息配置文件。尋址路徑為相對當前配置文件所在位置開始尋址。

conf/users.properties
戶信息配置文件,格式:用戶名=密碼

conf/groups.properties
用戶組信息配置文件,格式:組名=用戶名,用戶名…

二、配置用戶名/密碼

方式1:

在conf下的activemq.xml的broker節點插入一個子節點如下:

<plugins><simpleAuthenticationPlugin><users><authenticationUser username="vincent" password="123456" groups="users,admins" /></users></simpleAuthenticationPlugin> </plugins>

重啟activemq 并執行

ConnectionFactory factory = new ActiveMQConnectionFactory(null,null,"tcp://localhost:61616");Connection connection = null;Session session = null;try {connection = factory.createConnection();connection.start();session = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE);Destination destination = session.createQueue("first_mq");MessageProducer producer = session.createProducer(destination);TextMessage msg = session.createTextMessage("");for(int i=0;i<10;i++) {msg.setText("你好" + i);try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}producer.send(msg);}} catch (JMSException e) {e.printStackTrace();}finally {if(session != null) {try {session.close();} catch (JMSException e) {e.printStackTrace();}}}


使用配置的用戶名 / 密碼將能連接成功。

方式2
在conf下的activemq.xml的broker節點插入一個子節點如下:

<plugins><!--activemq在login.config文件里定義 --><jaasAuthenticationPlugin configuration="activemq"/><authorizationPlugin><map><authorizationMap><authorizationEntries><!-- > 表示通配符所有,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/users.properties
新增一個用戶名/密碼:vincent2=123456

conf/groups.properties
添加 vincent2 至 admins 用戶組:admins=admin,vincent2

重啟activemq 并執行沒有用戶名/密碼的連接:

使用配置的用戶名 / 密碼將能連接成功。

三、總結

安全認證 方式1 和 方式2 能共存,方式1 更簡單。

總結

以上是生活随笔為你收集整理的ActiveMQ 之安全认证的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。