码迷,mamicode.com
首页 > 其他好文 > 详细

ActiveMQ 认证与授权

时间:2019-06-05 21:59:13      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:write   apach   trie   XML   替换   try   min   通配   sim   

使用ActiveMQ自带simpleAuthenticationPlugin

1.直接将用户名密码写入activemq.xml文件

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

2.可以使用凭证文件credentials.properties来存储

<plugins>
     <simpleAuthenticationPlugin>
           <users>
                <authenticationUser username="${activemq.username}" password="${activemq.password}" groups="users, admins" />
           </users>
     </simpleAuthenticationPlugin>
</plugins>

vim credentials.properties
    activemq.username=username
    activemq.password=password

activemq.xml 顶部导入了file:${activemq.conf}/credentials.properties,我们可以使用变量的方式引用该文件内部的属性
groups="users, admins" 表示定义用户所属的用户组, activemq按照用户组分配权限,注意不能删除groups属性,可以置空

使用JAASAuthentication Plugin

JAAS 全称为Java Authentication and Authorization Service JAVA认证授权服务
JAASAuthentication Plugin依赖标准的JAAS机制来实现认证,默认使用login.config文件作为配置

vim 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";
};

login.config配置中引用了users.properties和groups.properties分别进行用户名密码和用户组配置

vim users.properties
    username=password
vim groups.properties
    groups=username1, username2...

在activemq.xml添加JAASAuthentication Plugin配置

<plugins>
    <jaasAuthenticationPlugin configuration="activemq" />
</plugins>

configuration="activemq" 指向login.config中配置的名称

使用authorizationPlugin进行授权

activemq可以对Queue,Topic的读写创建等进行权限控制,权限按照用户组分配

<plugins>
    <authorizationPlugin>
            <map>
                  <authorizationMap>
                       <authorizationEntries>
                            <authorizationEntry queue="activemq.>" read="users" write="users" admin="users"/>
                            <authorizationEntry topic="USER.>" read="admins" write="admins" admin="admins"/>
                       </authorizationEntries>
                   </authorizationMap>
             </map>
    </authorizationPlugin>
</plugins>

> 表示通配符 上述配置表明只有users组才能读写创建activemq.开头的队列,只有admins组才能读写创建USER.开头的主题
值的注意的是,"activemq.>"中通配符前的点符号必须存在否则无法生效,也就是说前缀必须以点号结尾
> 也可用 * 替换

ActiveMQ 认证与授权

标签:write   apach   trie   XML   替换   try   min   通配   sim   

原文地址:https://www.cnblogs.com/Peter2014/p/10981986.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!