首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring + RabbitMQ 3.3.5 ACCESS_REFUSED -登录被拒绝使用身份验证机制

Spring + RabbitMQ 3.3.5 ACCESS_REFUSED -登录被拒绝使用身份验证机制
EN

Stack Overflow用户
提问于 2014-11-07 23:42:52
回答 16查看 243.3K关注 0票数 120

我正处于例外状态

org.springframework.amqp.AmqpAuthenticationException: com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED -登录被拒绝使用身份验证机制。有关详细信息,请参阅代理日志文件。

配置: windows上的RabbitMQ 3.3.5

%APPDATA%\RabbitMQ\rabbit.config中的Config文件上,我按照https://www.rabbitmq.com/access-control.html做了以下更改

代码语言:javascript
复制
[{rabbit, [{loopback_users, []}]}].

我还试着创建一个用户/pwd-测试/测试似乎无法使它工作。

尝试了this post中的步骤。

其他配置细节如下:

Tomcat宿主Spring应用程序上下文:

代码语言:javascript
复制
<!-- Rabbit MQ configuration Start -->
    <!-- Connection Factory -->
    <rabbit:connection-factory id="rabbitConnFactory" virtual-host="/" username="guest" password="guest" port="5672"/>

    <!-- Spring AMQP Template -->
    <rabbit:template id="rabbitTemplate" connection-factory="rabbitConnFactory" routing-key="ecl.down.queue" queue="ecl.down.queue" />

    <!-- Spring AMQP Admin -->
    <rabbit:admin id="admin" connection-factory="rabbitConnFactory"/>

    <rabbit:queue id="ecl.down.queue" name="ecl.down.queue" />

    <rabbit:direct-exchange name="ecl.down.exchange">
        <rabbit:bindings>
            <rabbit:binding key="ecl.down.key" queue="ecl.down.queue"/>
        </rabbit:bindings>
    </rabbit:direct-exchange>

在我的控制课上

代码语言:javascript
复制
@Autowired
RmqMessageSender rmqMessageSender;

//Inside a method
rmqMessageSender.submitToECLDown(orderInSession.getOrderNo());

在我的信息发送者中:

代码语言:javascript
复制
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component("messageSender")
public class RmqMessageSender  {

    @Autowired
    AmqpTemplate                rabbitTemplate;

    public void submitToRMQ(String orderId){
        try{
            rabbitTemplate.convertAndSend("Hello World");
        } catch (Exception e){
            LOGGER.error(e.getMessage());
        }
    }       
}

以上异常块提供下面的异常

org.springframework.amqp.AmqpAuthenticationException: com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED -登录被拒绝使用身份验证机制。有关详细信息,请参阅代理日志文件。

错误日志

代码语言:javascript
复制
  =ERROR REPORT==== 7-Nov-2014::18:04:37 ===
closing AMQP connection <0.489.0> (10.1.XX.2XX:52298 -> 10.1.XX.2XX:5672):
    {handshake_error,starting,0,
                     {amqp_error,access_refused,
                                 "PLAIN login refused: user 'guest' can only connect via localhost",
                                 'connection.start_ok'}}

请在pom.xml条目下面找到

代码语言:javascript
复制
        <dependency>
            <groupId>org.springframework.amqp</groupId>
            <artifactId>spring-rabbit</artifactId>
            <version>1.3.6.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.integration</groupId>
            <artifactId>spring-integration-amqp</artifactId>
            <version>4.0.4.RELEASE</version>
        </dependency>

如果你有什么想法/建议,请告诉我。

EN

回答 16

Stack Overflow用户

回答已采纳

发布于 2015-03-21 00:05:26

我确信Artem解释过的here可能是造成此错误的原因之一:

原因: com.rabbitmq.client.AuthenticationFailureException: ACCESS_REFUSED - Login被拒绝使用身份验证机制。有关详细信息,请参阅

但对我来说,解决方案是使用默认用户名和密码(即来宾/来宾)登录到rabbitMQ管理页(http://localhost:15672/#/users),然后添加一个新用户,对于新用户,我启用了从虚拟主机访问它的权限,然后使用新的用户名和密码代替默认的来宾,从而清除了错误。

票数 122
EN

Stack Overflow用户

发布于 2016-12-22 15:09:50

要完成@cpu-100 answer

如果您不想启用/使用web接口,您可以使用下面的命令行创建一个新的凭据,并在代码中使用它连接到RabbitMQ。

代码语言:javascript
复制
$ rabbitmqctl add_user YOUR_USERNAME YOUR_PASSWORD
$ rabbitmqctl set_user_tags YOUR_USERNAME administrator
$ rabbitmqctl set_permissions -p / YOUR_USERNAME ".*" ".*" ".*"
票数 64
EN

Stack Overflow用户

发布于 2014-11-08 17:46:50

用户‘来宾’只能通过本地主机进行连接

这是自RabbitMQ 3.3.x以来的事实。因此,您应该升级到客户端库的相同版本,或者只需将Spring升级到最新版本(如果使用依赖关系管理系统)。

以前版本的客户端使用127.0.0.1作为ConnectionFactoryhost选项的默认值。

票数 38
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26811924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档