天天看点

【原创】RabbitMQ 之 SASL Authentication(翻译)SASL Authentication

the three built-in mechanisms are:

3 中内置的机制如下:

plain

sasl plain authentication. this is enabled by default in the rabbitmq server and clients, and is the default for most other clients.

sasl plain 鉴权机制。默认被 rabbitmq 服务器和客户端使能,并且也是大多数客户端的默认选择。

amqplain

non-standard version of plain as defined by the amqp 0-8 specification. this is enabled by default in the rabbitmq server, and is the default for qpid's python client.

由 amqp 0-8 标准文档定义的非标准版本 plain 鉴权机制。该机制默认被 rabbitmq 服务器使能,并且是 python 客户端 qpid 的默认选择。

rabbit-cr-demo

non-standard mechanism which demonstrates challenge-response authentication. this mechanism has security equivalent to plain, and is not  enabled by default in the rabbitmq server.

采用 challenge-response 鉴权机制的非标准机制。该机制在安全性上等价于 plain 机制,但默认不被 rabbitmq 服务器使能。

the java client does not use the javax.security.sasl package by default since this can be unpredictable on non-oracle jdks and is missing entirely on android. there is a rabbitmq-specific sasl implementation, configured by the saslconfig interface. a class defaultsaslconfig is provided to make sasl configuration more convenient in the common case. a class jdksaslconfig is provided to act as a bridge tojavax.security.sasl.

see connectionfactory.getsaslconfig() and connectionfactory.setsaslconfig(saslconfig)

the erlang client provides its own sasl mechanism implementations in the amqp_auth_mechanisms module. the #amqp_params{} record can be provided with a list of authentication functions in preference order for network connections.

erlang 客户端在模块 amqp_auth_mechanisms 中给出了其自身 sasl 鉴权机制实现。记录 #amqp_params{} 可被用于一系列就安全函数中,且记录中内容的顺寻决定了网络连接使用的鉴权机制的顺序。

the .net client provides its own sasl mechanism implementations based on the authmechanism andauthmechanismfactory interfaces. the connectionfactory.authmechanisms property is a list of authentication mechanism factories in preference order.