我的一个项目需要认证才能使用RabbitMQ。只有经过认证的用户才能连接到rabbitmq服务器并订阅队列等。例如,当用户第一次连接到服务器并发送一些认证数据(如登录名,密码)时,服务器应该检查它,如果用户通过了认证,他将能够订阅队列等。否则,服务器将断开与用户的连接。有解决办法吗?
请不要太苛刻,我不是很熟悉RabbitMQ和这样的东西
这很容易自己发现。在Google上搜索"RabbitMQ Authentication",返回的第一个条目是:
当一个AMQP客户端建立到一个AMQP服务器的连接时指定要在其中操作的虚拟主机。第一次此时通过服务器强制执行访问控制级别检查用户是否有访问虚拟的权限
amqplib文档给出了一个直接的答案。
Connecting with an object instead of a URL
The URL can also be supplied as an object of the form:
{
protocol: 'amqp',
hostname: 'localhost',
port: 5672,
username: 'guest',
password: 'guest',
locale: 'en_US',
frameMax: 0,
heartbeat: 0,
vhost: '/',
}