ldap集成rabbitmq
rabbitmq版本: 3.7.4
rabbitmq支持ldap需要开启插件:
rabbitmq-plugins enable rabbitmq_auth_backend_ldap
rabbitmq主要通过两个配置文件对ldap服务进行控制访问: rabbitmq.conf,advanced.config。
rabbitmq.conf: ldap连接,查询配置。
advanced.config:rabbitmq权限配置。
rabbitmq.conf的配置如下:
auth_backends.1 = internal
auth_backends.2 = ldap
auth_ldap.servers.1 = ldap.xxxxx.net
auth_ldap.port = 389
auth_ldap.use_ssl = false
auth_ldap.user_dn_pattern= cn=${username},ou=People,dc=xxxx,dc=xxxxx,dc=xxxx
#如果用户存在在内部数据库,则对用户执行授权检查,不存在则在LDAP中查找用户并进行校验
auth_backends.1 = internal
auth_backends.2 = ldap
#ldap服务器地址,可配置多个,将按顺序尝试进行连接,直到与其中一个连接成功为止
auth_ldap.servers.1 = ldap01.xxxxx.net
auth_ldap.servers.2 = ldap02.xxxxx.net
#是否使用tls连接ldap服务器
auth_ldap.use_ssl = false
#根据匹配字段查找符合条件的用户
auth_ldap.user_dn_pattern= cn=${username},ou=People,dc=xxxx,dc=xxxxx,dc=xxxx
advanced.config的配置如下:
[{rabbitmq_auth_backend_ldap,[
{tag_queries, [{administrator, {in_group, "cn=rabbitmq-dev-administrator,ou=rabbitmq,dc=ldap,dc=xxxxx,dc=net","uniqueMember"}},
{management, {in_group, "cn=rabbitmq-dev-management,ou=rabbitmq,dc=ldap,dc=xxxxx,dc=net","uniqueMember"}}]}
]}].
#返回ou=rabbitmq组中cn=rabbitmq-dev-administrator 匹配属性为uniqueMember的用户,授予administrator的权限
{administrator, {in_group, "cn=rabbitmq-dev-administrator,ou=rabbitmq,dc=ldap,dc=xxxxx,dc=net","uniqueMember"}
#返回ou=rabbitmq组中cn=rabbitmq-dev-management 匹配属性为uniqueMember的用户,授予management的权限
{management, {in_group, "cn=rabbitmq-dev-management,ou=rabbitmq,dc=ldap,dc=xxxxx,dc=net","uniqueMember"
rabbitmq管理插件的以下五种权限标签:

以上是对两种配置文件大致介绍,现在启动rabbitmq验证配置是否正确。
3.7.0之前的配置在rabbitmq.config文件里,配置格式:
[{rabbit,[
{auth_backends, [rabbit_auth_backend_internal,rabbit_auth_backend_ldap]}
]},
{rabbitmq_auth_backend_ldap, [
{servers, ["ldap.xxxxx.net"]},
{port, 389},
{user_dn_pattern, "cn=${username},ou=People,dc=ldap,dc=xxxxx,dc=net"},
{tag_queries, [{administrator, {in_group, "cn=rabbitmq-qa-administrator,ou=rabbitmq,dc=ldap,dc=xxxxx,dc=net","uniqueMember"}},
{management, {in_group, "cn=rabbitmq-qa-management,ou=rabbitmq,dc=ldap,dc=xxxxx,dc=net","uniqueMember"}}]}
]}
].
启动服务: rabbitmq-server ,观察日志查看服务是否启动正常

主要查看是否加载上图红框所示的两个配置文件,如果未成功加载,需在 /etc/rabbitmq/rabbitmq-env.conf 中添加以下配置:
CONFIG_FILE="/opt/rabbitmq/etc/rabbitmq/rabbitmq.conf"
ADVANCED_CONFIG_FILE="/opt/rabbitmq/etc/rabbitmq/advanced.config"
接下来验证账户是否可以登录

登录成功,查看ldap中对应组信息:

以上就是ldap+rabbitmq的配置。
参考链接:
https://www.rabbitmq.com/ldap.html
http://www.rabbitmq.com.s.icopy.site/ldap.html
ldap集成rabbitmq的更多相关文章
- rabbitMQ第五篇:Spring集成RabbitMQ
前面几篇讲解了如何使用rabbitMq,这一篇主要讲解spring集成rabbitmq. 首先引入配置文件org.springframework.amqp,如下 <dependency> ...
- RabbitMQ第四篇:Spring集成RabbitMQ
前面几篇讲解了如何使用rabbitMq,这一篇主要讲解spring集成rabbitmq. 首先引入配置文件org.springframework.amqp,如下 <dependency> ...
- springboot集成rabbitmq(实战)
RabbitMQ简介RabbitMQ使用Erlang语言开发的开源消息队列系统,基于AMQP协议来实现(AMQP的主要特征是面向消息.队列.路由.可靠性.安全).支持多种客户端,如:Python.Ru ...
- SpringBoot集成rabbitmq(二)
前言 在使用rabbitmq时,我们可以通过消息持久化来解决服务器因异常崩溃而造成的消息丢失.除此之外,我们还会遇到一个问题,当消息生产者发消息发送出去后,消息到底有没有正确到达服务器呢?如果不进行特 ...
- SpringBoot集成rabbitmq(一)
前言 Rabbitmq是一个开源的消息代理软件,是AMQP协议的实现.核心作用就是创建消息队列,异步发送和接收消息.通常用来在高并发中处理削峰填谷.延迟处理.解耦系统之间的强耦合.处理秒杀订单. 入 ...
- ldap集成bitbucket
confluence ldap配置跟jira ldap集成一样,请参考:https://www.cnblogs.com/imcati/p/9378668.html 需在 Global permissi ...
- Spring Boot系列——7步集成RabbitMQ
RabbitMQ是一种我们经常使用的消息中间件,通过RabbitMQ可以帮助我们实现异步.削峰的目的. 今天这篇,我们来看看Spring Boot是如何集成RabbitMQ,发送消息和消费消息的.同时 ...
- SpringBoot集成RabbitMQ消息队列搭建与ACK消息确认入门
1.RabbitMQ介绍 RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性.扩展性.高可用性等方面表现不俗.Rabbi ...
- RabbitMQ(3) Spring boot集成RabbitMQ
springboot集成RabbitMQ非常简单,如果只是简单的使用配置非常少,springboot提供了spring-boot-starter-amqp项目对消息各种支持. 资源代码:练习用的代码. ...
随机推荐
- centos 6.x下编译dpdk 16.7 心得
之前对dpdk编译了解得较少,之前直接就把centos yum update了,造成测试经理部署的centos 6.5升级为6.9,造成dpdk编译出错. 先说说centos 6.9下编译的心得: 1 ...
- ROSETTA使用技巧随笔--relax使用
Purpose: 主要说目的,relax的作用就是对一个给定的蛋白进行构象搜索,寻找与WT相似并能量低于WT的结构,既包含packer又包含minimizer.主要的应用在对一个结构构象进行取样,获得 ...
- iOS UI基础-13.0 数据存储
应用沙盒 每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应用必须待在自己的沙盒里,其他应用不能访问该沙盒 应用沙盒的文件系统目录,如下图所示(假设应用的名称叫Lay ...
- Android提权漏洞CVE-2014-7920、CVE-2014-7921
- iOS - (集成支付宝第三方SDK大坑总结)
其实集成支付宝相对于集成微信支付来说,支付宝算是简单的了,后续有空再去研究微信支付,现目前先总结一下集成支付宝所遇到的坑,其实支付宝的坑也不算太多,细算下来大概5-6个左右,但是其报错方式有点恶心,不 ...
- Jenkins自动化构建(二)众多问题
1.反向代理设置有误 系统管理页面提示,反向代理设置有误,其实这是由于URL设置有问题: 打开系统管理-->系统设置-->URL Jenkins URL设置有问题,改一下,去掉jenkin ...
- LeetCode122.买卖股票的最佳时机II
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票). 注意:你不能同时参与多笔交易(你必须在再次 ...
- jQuery-导航下拉菜单-实用简单
/*CSS代碼*/ /*導航*/ .nav{background: url("../img/menu_bar.gif") repeat-x;} .nav ul li{display ...
- <4>Cocos Creator基本概念(场景树 节点 坐标 组件 )
1.场景树 Cocos Creator是由一个一个的游戏场景组成,场景是一个树形结构,场景由 有各种层级关系的节点(下一节有具有介绍)组成: 如创建一个HelloWorld的默认项目NewProjec ...
- MOG插件(葡萄牙语,略作翻译)
这次记录下MOG大神的插件,自从我发现了这个插件,似乎开启了一个新世界诶~~~ 网址 https://atelierrgss.wordpress.com 1. MOG_YuruYuri.js CARA ...