5.8. 跟踪来自验证用户的消息
要启用跟踪和记录消息来源(例如,出于安全审计目的),您可以使用 _AMQ_VALIDATED_USER
消息密钥。
在 broker.xml
配置文件中,如果 populate-validated-user
选项被设置为 true
,则代理将使用 _AMQ_VALIDATED_USER
密钥将验证用户的名称添加到消息中。对于 JMS 和 STOMP 客户端,此消息密钥映射到 JMSXUserID
密钥。
代理无法将验证的用户名添加到 AMQP JMS 客户端生成的消息中。在由客户端发送 AMQP 消息后修改 AMQP 消息的属性是 AMQP 协议的违反情况。
对于基于其/并 SSL 证书验证的用户,代理填充的验证用户名是证书区分名称(DN)映射的名称。
在 broker.xml
配置文件中,如果启用了 security-enabled
且 populate-validated-user
为 true
,则代理会填充任何用户名(若有),客户端会提供这个名称。populate-validated-user
选项默认为 false
。
您可以将代理配置为拒绝在客户端发送消息时已由客户端填充的用户名(即 JMSXUserID
键)的消息。您可能会发现此选项可用于 AMQP 客户端,因为代理无法为这些客户端发送的消息填充验证的用户名本身。
要将代理配置为拒绝客户端未设置 JMSXUserID
的消息,请将以下配置添加到 broker.xml
配置文件中:
<reject-empty-validated-user>true</reject-empty-validated-user>
默认情况下,reject-empty-validated-user
设置为 false
。