2015-06-21 1 views
0

Я пытался подключиться к определенному RabbitMQ машине, используя следующий код, используя MassTransitне может подключиться к RabbitMQ серверу с помощью конкретного пользователя

var bus = ServiceBusFactory.New(x => 
     { 
     x.UseRabbitMq(); 
     x.ReceiveFrom("rabbitmq://admin:[email protected]<IP Address>/somequeue"); 

     moreInitialization(x); 
     }); 

У меня есть создать пользователь в качестве администратора в виртуальном хосте «\» с правами администратора ,

cmd:> rabbitmqctl list_permissions 
Listing permissions in vhost "/" ... 
admin .*  .*  .* 

Я удалил пользователя «гостя». Даже если я пользователь ниже код, я могу видеть в журнале RabbitMQ ниже

=ERROR REPORT==== 21-Jun-2015::12:19:22 === 
closing AMQP connection <0.391.0> (192.168.6.1:7000 -> 192.168.6.131:5672): 
{handshake_error,starting,0, 
       {amqp_error,access_refused, 
          "PLAIN login refused: user 'guest' - invalid credentials", 
          'connection.start_ok'}} 

На стороне приложения я получаю ошибку ниже

Exception:Thrown: "ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile." (RabbitMQ.Client.Exceptions.AuthenticationFailureException) 
A RabbitMQ.Client.Exceptions.AuthenticationFailureException was thrown: "ACCESS_REFUSED - Login was refused using authentication mechanism PLAIN. For details see the broker logfile." 

мне нужно изменить любую конфигурацию в rabbitmq.config Do файл? Я использую версию RabbitMQ SERVER 3.5.3

Спасибо за помощь

+0

в состоянии решить вашу проблему Вы были? Возможно, у нас была аналогичная проблема. Определенный пользователь не позволит сценарию войти в систему. Мы дважды проверили учетные данные и отлично работали в отдельной системе с тем же скриптом и идентификатором пользователя. Даже установка пароля снова не помогла. Помогло только удаление и создание нового пользователя. Как будто что-то пошло не так, когда первоначально создавал пользователя, но ничто не указывало на проблему. – blubberdiblub

ответ

2

Чтобы указать учетные данные, необходимо настроить хост явно. Синтаксис @ больше не поддерживается из-за утечки учетных данных безопасности.

Например:

var bus = ServiceBusFactory.New(sbc => 
{ 
    sbc.UseRabbitMq(r => r.ConfigureHost(new Uri("rabbitmq://actual-server-name/queue-name"), h => 
    { 
     h.SetUsername("username"); 
     h.SetPassword("password"); 
    })); 
    sbc.ReceiveFrom("rabbitmq://actual-server-name/queue-name"); 
});