如何使用启用LDAP的RabbitMQ配置NServiceBus

如何使用启用LDAP的RabbitMQ配置NServiceBus,rabbitmq,nservicebus,Rabbitmq,Nservicebus,在我的组织中设置的Rabbit MQ使用LDAP进行身份验证和授权。 如何配置NServiceBus(或RabbitMQ)以使用服务运行的凭据(-like integrated security for SQL Connections) rabbmitmq配置 [ {rabbit, [{auth_backends, [rabbit_auth_backend_ldap]}]}, {rabbitmq_auth_backend_ldap, [ {servers,

在我的组织中设置的Rabbit MQ使用LDAP进行身份验证和授权。
如何配置NServiceBus(或RabbitMQ)以使用服务运行的凭据(-like integrated security for SQL Connections)

rabbmitmq配置

[
{rabbit,
   [{auth_backends, [rabbit_auth_backend_ldap]}]},
  {rabbitmq_auth_backend_ldap,
   [ {servers,               ["ad.xxxx.xxx"]},
     {dn_lookup_attribute,   "userPrincipalName"},
     {dn_lookup_base,        "OU=xxxx Users,DC=ad,DC=xxxx,DC=xxx"},
     {log,                   true},
     {group_lookup_base,     "OU=xxxx Users,DC=ad,DC=xxxx,DC=xxx"},
     {tag_queries,           [{administrator, {in_group, "CN=GRP_Name,OU=XXXX Users,DC=ad,DC=XXXX,DC=XXX"}},
                              {management, {in_group, in_group, "CN=GRP_Name,OU=XXXX Users,DC=ad,DC=XXXX,DC=XXX"}}]}
   ]
  }
].
NServiceBus代码:

var endpointConfiguration = new EndpointConfiguration("Receiver.Service");
            var transport = endpointConfiguration.UseTransport<RabbitMQTransport>();
            transport.UseConventionalRoutingTopology();
            transport.ConnectionString("host=rabbitmq.sb.xxxx.xxx");
var endpointConfiguration=新的endpointConfiguration(“Receiver.Service”);
var transport=endpointConfiguration.UseTransport();
运输。使用常规路线拓扑();
transport.ConnectionString(“host=rabbitmq.sb.xxxx.xxx”);

RabbitMQ的LDAP支持要求客户端应用程序传递用户名和密码。没有与SQL的集成安全性等价的东西

在您的情况下,用户必须有一个
DN
,其值以
OU=xxxx用户、DC=ad、DC=xxxx、DC=xxx
结尾。您的NServiceBus应用程序必须通过预期的
DN
传递帐户的用户名和密码



注意:RabbitMQ团队监视并有时只回答有关StackOverflow的问题。

谢谢您的回答。不幸的是,当服务帐户密码更改时,需要对所有服务进行全面更新。